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,然后将其作用域到集合/流(例如,按用户库)并执行隔离操作。 |
| 生命周期感知 | 专为移动生命周期设计——您可以轮换凭据、关闭会话并确定性地清理资源。 |
快速开始(简单步骤)
- 添加包
dependencies: vmodal_sdk_flutter: ^1.2.3 # 或 pub.dev 上的最新版本 - 获取 API 密钥 – 在 https://v-modal.com/page/contact.ts 申请。
- 在 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', ); - 上传视频(进度显示在控制台中):
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}'); - 搜索上传的集合:
final results = await favorites.search( '日落时骑行者过桥', options: const ScopedSearchOptions( searchSources: ['image'], limit: 20, ), ); for (final hit in results.videoHits) { print('${hit.fileName} @ ${hit.playbackOffsetMs}ms'); } - 应用关闭时释放资源:
await project.close();
该仓库还附带一个功能完整的示例应用(example/01_full_app),演示了完整流程——上传 → 索引 → 搜索 → 图像预览。
典型使用场景
- 消费类视频应用 – 让用户使用自然语言搜索他们的个人视频库。
- 安防 / 闭路电视仪表盘 – 上传摄像头片段,添加标签,之后按对象、时间范围或语音检索关键时刻。
- 电子商务产品视频目录 – 索引产品演示,让购物者找到特定功能(“展示手机的相机模式”)。
- 企业知识库 – 存储会议录音,让员工按关键词或发言人定位关键时刻。
文档和支持
- API 参考:https://v-modal.github.io/vmodal_sdk_flutter/
- Discord 社区:https://discord.gg/XGxgBQqkaY
- Pub.dev 页面:https://pub.dev/packages/vmodal_sdk_flutter
- Reddit 社区:https://www.reddit.com/r/v_modal/
- 完整文档(认证、组件模式、性能等)位于仓库的
docs/文件夹中。
许可证
MIT – 您可以在商业或开源 Flutter 应用中自由使用、修改和分发该 SDK。
相关
- 项目
- 项目
- 项目
- 项目
- 项目