讲师中心 微信公众号
AI工具推荐 视频效率加速

Natural Language Video Search

Polar Sponsor
爱发电 赞助
.NET 9.0

使用Gemini嵌入实现视频文件的语义搜索。对行车记录仪、安防摄像头或任意MP4视频进行索引,然后通过自然语言查询进行搜索,以查找...

自然语言视频搜索 : 使用自然语言查询的搜索视频文件, 由双子嵌入 2 的本地视频到视频嵌入器提供

功能概述

自然语言视频搜索 : 使用自然语言查询的搜索视频文件, 由双子嵌入 2 的本地视频到视频嵌入器提供是一项面向实际任务的技能,主要用于此技能可以让你索引。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

自然语言视频搜索

利用 Gemini Embedding 2 原生的视频到向量(video-to-vector)嵌入能力,通过自然语言查询搜索视频文件。

该技能的功能

本技能支持将视频文件(如特斯拉行车记录仪录像、安防摄像头录像、任意 mp4 文件)索引至本地向量数据库,随后可通过日常英语描述目标内容进行搜索。匹配度最高的结果会自动裁剪并保存为独立视频片段。

针对特斯拉行车记录仪录像,可选的遥测数据叠加层(telemetry overlay)可在裁剪后的片段中烧录显示车速、GPS 坐标、地理位置及转向灯状态等信息。

安装配置

需安装 uv 工具及 Python 3.11+ 环境。

  1. 克隆并安装:
git clone https://github.com/ssrajadh/sentrysearch.git
cd sentrysearch
uv sync

如需启用特斯拉遥测叠加支持(含逆地理编码):

uv sync --extra tesla
  1. 设置 Gemini API 密钥:
sentrysearch init

该命令将提示输入密钥,将其写入 .env 文件,并通过一次测试嵌入验证有效性。你也可直接将 GEMINI_API_KEY 设为环境变量。

命令说明

索引视频文件

sentrysearch index <目录或文件路径>

可选参数:--chunk-duration(默认 30 秒)、--overlap(默认 5 秒)、--no-preprocess、--target-resolution、--target-fps、--skip-still / --no-skip-still、--verbose

搜索已索引的录像

sentrysearch search "<自然语言查询>"

可选参数:-n / --results(默认返回 5 条结果)、-o / --output-dir、--trim / --no-trim、--threshold(默认 0.41)、--overlay / --no-overlay(启用/禁用特斯拉遥测叠加)、--verbose

应用特斯拉遥测叠加层

sentrysearch overlay <视频文件>
sentrysearch overlay <视频文件> -o output.mp4

在特斯拉行车记录仪视频上烧录 HUD 叠加层,显示车速、GPS 坐标、地点名称及转向灯状态。该功能读取嵌入于特斯拉固件 2025.44.25+ 中的 SEI NAL 单元所携带的遥测数据。此功能亦可通过 --overlay 参数在 search 命令中启用,从而对自动裁剪出的片段直接添加叠加层。

查看索引统计信息

sentrysearch stats

工作原理

视频文件被切分为带有重叠时间的片段。静帧检测(still-frame detection)可跳过视觉内容无显著变化的片段,从而避免不必要的 API 调用——这对哨兵模式(Sentry Mode)或安防摄像头等长时间处于静态的录像尤为关键,是主要的成本节省机制。各片段还会预先进行处理(降低帧率与分辨率),以减小上传体积并加快传输速度;但需注意:Gemini API 按视频时长(而非文件大小)以固定 token 速率计费,因此预处理不会降低单个片段的 token 成本。每个片段均以原始视频形式经由 Gemini Embedding 2 进行嵌入(不依赖语音转文字或图像描述)。生成的向量存储于本地 ChromaDB 数据库中。文本查询同样被嵌入至同一向量空间,并通过余弦相似度完成匹配。匹配度最高的结果将借助 ffmpeg 从原始文件中自动裁剪输出。

适用场景

  • 用户提出需在视频文件或录像中执行搜索
  • 用户希望根据自然语言描述定位视频中的特定时刻
  • 用户要求对视频录像进行索引或结构化整理以便后续搜索
  • 用户提及行车记录仪、安防摄像头或监控录像等场景
  • 用户希望从长视频中查找并提取指定片段
  • 用户拥有特斯拉行车记录仪录像,并希望在片段中叠加显示车速/GPS/地理位置信息
  • 用户希望为某段特斯拉视频添加遥测数据叠加层

交互示例

用户:“搜索我的行车记录仪录像,查找一辆白色卡车强行加塞的画面”
操作:运行 sentrysearch search "white truck cutting me off"

用户:“索引我 Downloads 文件夹下的所有视频文件”
操作:运行 sentrysearch index ~/Downloads

用户:“搜索闯红灯画面,并为结果片段添加特斯拉叠加层”
操作:运行 sentrysearch search "running a red light" --overlay

用户:“为这段特斯拉视频添加车速和 GPS 叠加层”
操作:运行 sentrysearch overlay /path/to/tesla_video.mp4

用户:“我当前已索引了多少视频素材?”
操作:运行 sentrysearch stats

使用规则

  • 执行索引或搜索前,必须先运行 sentrysearch init,或确认已正确设置 GEMINI_API_KEY 环境变量。
  • 若系统 PATH 中未找到 ffmpeg,程序将自动回退使用内置的 imageio-ffmpeg。
  • 在默认参数下,每小时活跃视频内容的索引成本约为 2.84 美元。费用主要取决于发送至 API 的片段数量——对于包含大量空闲时段的录像(如哨兵模式、安防摄像头),由于静帧跳过机制会完全剔除这些片段,实际成本将显著降低。在索引大型目录前,请务必提前向用户发出成本提示。
  • 搜索结果附带相似度分数。若最高分低于设定阈值(默认 0.41),将在执行裁剪前提示低置信度警告。
  • 特斯拉叠加层依赖固件 2025.44.25+ 中 SEI 元数据的支持。不含特斯拉元数据的视频将自动跳过叠加步骤,不报错。
  • 要求 Python 版本为 3.11+。
目录

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn