分析视频
在本机上处理文件。不要上传视频或其音频,也不要将其中任何一个发送到云端转录服务。
运行
从打开的项目的根目录执行命令。输出将放入该目录下的 _video/ 中,这使其保留在代理沙箱内,不进入共享文件夹。通过绝对路径运行此技能的入口脚本。
macOS 和 Linux:
/absolute/path/to/analyze-video/scripts/analyze_video "/absolute/path/to/video.mp4"
Windows:
powershell -NoProfile -ExecutionPolicy Bypass -File \absolute\path\to\analyze-video\scripts\analyze_video.ps1 "C:\path\to\video.mp4"
从目录列表获取视频路径并完全按原样传递。录制文件名可能包含看起来像普通空格但实际上不是的字符。
Zoom 的本地录制文件位于 ~/Documents/Zoom/<日期时间 会议名称>/,通常为 zoom_0.mp4,以及一个只有音频的 audio_only.m4a。除非用户要求音频文件,否则使用 .mp4。仅音频文件将生成转录文本,不生成联系表。
该命令会打印 index.md 的路径。该文件夹包含:
index.md:时长、帧间隔以及联系表列表transcript.md:带时间戳的转录文本,或提示无音频的说明sheets/sheet_NNN.jpg:联系表frames/f_NNNN.jpg:已带有时间戳的单独帧manifest.json:源文件指纹和所使用的设置
如果 .vtt 转录文件位于录制文件旁边(Zoom 云端录制下载时附带 …_Recording.transcript.vtt,Teams 为 <名称>.vtt),则会使用该文件而非 Whisper,并保留说话人名称。传递 --whisper 可强制在本地转录,或传递 --transcript /path/to/file.vtt 指定其他名称的转录文件。
对同一文件使用相同设置再次运行时,会输出“已处理”(already processed) 并不会重做。当使用不同的间隔、模型、语言、场景设置、提示、帧上限、跳帧选项或转录文件时,会重新处理。
如果命令失败,则停止并输出其反馈。不要自行采样帧作为替代。如果输出提示需要设置,或 Whisper 模型下载被阻止,请将打印的设置命令提供给用户。他们在终端中运行一次。仅当用户要求并批准在沙箱外运行时,你才能自行运行该命令。
读取结果
- 读取
index.md。 - 完整读取
transcript.md。 - 读取每张联系表图像。
- 仅当某个单元格不可读时才打开
frames/下的一个文件。
如果 index.md 表明帧被跳过,则读取 transcript.md 并停止。没有联系表。
配置
当用户输入 /configure,或要求配置或更改此技能的设置时,打开设置页面。在此之前不要自行编辑任何配置文件。
- 通过其绝对路径运行此技能的
scripts/configure。在 Windows 上,使用该技能的 Python 运行python scripts/configure.py。 - 它会打印一行:
configure: http://127.0.0.1:<端口>/。在 Cursor 浏览器中打开该 URL,以便用户看到页面。 - 让服务器保持运行。该页面会在技能文件夹中写入
config.local.json。下次处理视频时将使用这些设置。
当用户想要不同的设置时
标志会覆盖该次运行的 config.json。默认情况下,每 30 秒并在每次场景变化(新幻灯片或窗口)时截取一帧,长录制文件上限为 96 帧(8 张联系表)。对于短录制文件要更详细:
/absolute/path/to/analyze-video/scripts/analyze_video "/absolute/path/to/video.mp4" --interval 5 --max-frames 0
在 Windows 上,将相同的标志传递给 scripts/analyze_video.ps1。
仅当这些名称已出现在任务中时,才传递 --prompt "此视频已知术语"。不要凭空捏造提示。--max-frames 0 移除上限。仅当用户要求转录或总结,而不要求观看或查看画面时,才传递 --skip-frames。
其他标志:--language en、--model medium、--no-scene、--scene-threshold 0.2、--min-scene-gap 1、--sheet-cols、--sheet-rows、--frame-width、--keep-audio、--output-root beside(视频旁边)、--config /path/to/config.json。
默认值和完整键列表位于此技能文件夹中的 config.json 和 README.md 中。仅英文模型(medium.en 及其他 *.en 名称)不能使用 "language": "auto"。