Elasticsearch与Jina联合实现AI视频搜索,精准定位秒级片段

Elasticsearch与Jina合作推出的AI视频搜索系统,通过将视频片段嵌入向量空间并在Elasticsearch中进行近邻搜索,实现了秒级精准定位视频素材的功能。该方案解决了传统视频编辑中反复...

人工智能

在数字内容创作领域,视频素材的高效管理一直是行业痛点。近日,Elastic 与 Jina 联合推出了一种基于人工智能的视频搜索解决方案,通过将视频片段嵌入向量空间并在 Elasticsearch 中进行近邻搜索,实现了秒级精准定位视频素材的功能。该系统的创新之处在于其对视频素材的智能处理流程,首先自动检测视频中的场景边界并剪切片段,随后利用 Jina 的 omni 模型将每个片段转化为 1,024 维的向量表示,存储于 Elasticsearch 并通过 HNSW 索引技术快速检索。

对于不同长度的视频素材,系统采用了分块策略以优化搜索效果。例如,一个 10 秒的短片段可以密集采样 32 帧,几乎覆盖所有细节;而对于长达 10 分钟的长视频,则需要先进行分块处理,避免信息丢失。这种智能化的分块机制确保了无论视频时长如何,都能获得高质量的搜索结果。

实际应用中,用户只需输入描述性文本(如"warm sunset light over a mountain"),系统就能返回匹配的视频片段及其精确的时间戳。这不仅极大地提高了视频编辑的工作效率,也使得内容创作者能够更灵活地使用海量素材库。值得注意的是,该系统还提供了完整的开发框架和示例代码,开发者可以轻松部署到本地或云端环境。目前,Elastic 已经开放了免费的云试用版本,方便用户快速体验这一创新技术。

文章配图

该系统的灵感来源于一位 Elastic 视频编辑的实际工作需求。她曾需要花费整个下午在 B-roll 文件夹中反复拖动播放进度条,只为找到某个特定的画面。通过描述搜索视频素材库,这个应用的工作方式如下:选择一个视频素材文件夹,使用视觉查询搜索片段(如 drone shot over a coastline),或者使用已存储的向量搜索相似片段。此外,它还能在同一视频片段中查找相似的视频片段,并在文件浏览器中显示该视频片段,可以直接放到时间线上。

AI 视频搜索管道的工作流程如下:一个监视器每四秒轮询一次关联的视频素材文件夹(默认为 clips/),检查是否有新的视频素材。PySceneDetect 检测每个视频片段中的场景边界,FFmpeg 在这些边界处剪切视频片段,并使用无损流复制转码为代理文件。代理文件通过 Jina API 发送给 jina-embeddings-v5-omni-small 模型,该模型采样 32 帧并返回一个 1,024 维向量。该向量被摄取到 Elasticsearch 中的 dense_vector 字段,并使用分层可导航小世界(HNSW)索引。在查询时,编辑器输入的文本会通过同一个模型处理,然后针对已存储的视频片段向量执行 k 近邻(kNN)搜索。由于同一个模型同时对文本和视频进行嵌入,这正是 Jina 的 omni 模型如此灵活的原因。视频片段和文本查询会被嵌入到同一个向量空间中,因此最近邻搜索实际上意味着:找到看起来与我用文本描述的内容相符的视频素材。

构建 AI 视频搜索所需的组件包括 Elasticsearch(Serverless 或支持 dense vector 的 8.x 及更高版本)、Jina 的 omni 模型以及 PySceneDetect 和 FFmpeg 等工具。一小时的视频素材大约会生成 1,200 个可搜索向量,而以前需要数小时才能完成数据摄取的文件夹,现在几分钟内就可以处理完成。这种高效的处理能力使得大规模视频素材库的管理成为可能,同时也为内容创作者提供了前所未有的灵活性。