v-modal/vmodal_sdk_flutter

V- Modal AI: Visual Video / Image Search - Flutter Video SDK

VModal for Flutter 是什么?

VModal 是一个 Flutter SDK,可让移动应用(Android / iOS)添加多模态视频搜索和上传功能。它将您的应用连接到 VModal 云服务,该服务索引视频内容并使其可通过以下方式搜索:

  • 自然语言描述(例如,“穿红色夹克的骑行者”)
  • 语音转文本(音频)和屏幕文本
  • 视觉相似性(图像帧)

SDK 处理所有网络、流式上传、进度报告、取消令牌和类型化响应模型,同时将 UI 完全置于您的控制之下。


核心功能

功能 作用
语义视频和图像搜索 用纯英语查询视频库;结果包括时间戳和相似度距离。
音频和文本搜索 搜索后端提取的语音或屏幕字幕。
流式上传 直接从文件选择器或相机上传视频,无需将整个文件加载到内存中;进度以 Dart Stream 形式公开。
取消 每个操作的取消令牌允许您在屏幕关闭时中止上传或搜索。
类型化 API 所有请求/响应对象在 Dart 中都是强类型的,使集成变得简单。
认证灵活性 使用简单的运行时 API 密钥或从您自己的后端获取的短期令牌,实现按用户隔离。
会话和作用域管理 创建 VModalProject,然后将其作用域到集合/流(例如,按用户库)并执行隔离操作。
生命周期感知 专为移动生命周期设计——您可以轮换凭据、关闭会话并确定性地清理资源。

快速开始(简单步骤)

  1. 添加包
    dependencies:
      vmodal_sdk_flutter: ^1.2.3   # 或 pub.dev 上的最新版本
    
  2. 获取 API 密钥 – 在 https://v-modal.com/page/contact.ts 申请。
  3. 在 Dart 代码中配置 SDK:
    import 'package:vmodal_sdk_flutter/vmodal_sdk_flutter.dart';
    
    final apiKeyProvider = MutableApiKeyProvider('YOUR_RUNTIME_API_KEY');
    final project = VModal.configure(
      projectId: 'food_app',
      apiKeyProvider: apiKeyProvider,
    );
    final favorites = project.scope(
      collectionName: 'user_123',
      streamName: 'favorites',
    );
    
  4. 上传视频(进度显示在控制台中):
    final task = favorites.upload(
      UploadSource.fromFile(File('path/to/video.mp4')),
    );
    task.progress.listen((p) => print('上传中 ${p.percent}%'));
    final uploaded = await task.result;
    print('已上传为 ${uploaded.fileName}');
    
  5. 搜索上传的集合:
    final results = await favorites.search(
      '日落时骑行者过桥',
      options: const ScopedSearchOptions(
        searchSources: ['image'],
        limit: 20,
      ),
    );
    for (final hit in results.videoHits) {
      print('${hit.fileName} @ ${hit.playbackOffsetMs}ms');
    }
    
  6. 应用关闭时释放资源:
    await project.close();
    

该仓库还附带一个功能完整的示例应用(example/01_full_app),演示了完整流程——上传 → 索引 → 搜索 → 图像预览。


典型使用场景

  • 消费类视频应用 – 让用户使用自然语言搜索他们的个人视频库。
  • 安防 / 闭路电视仪表盘 – 上传摄像头片段,添加标签,之后按对象、时间范围或语音检索关键时刻。
  • 电子商务产品视频目录 – 索引产品演示,让购物者找到特定功能(“展示手机的相机模式”)。
  • 企业知识库 – 存储会议录音,让员工按关键词或发言人定位关键时刻。

文档和支持


许可证

MIT – 您可以在商业或开源 Flutter 应用中自由使用、修改和分发该 SDK。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目