一个可运行的本地 Agent:
- 解析视频文件。
- 优先使用已有字幕(外挂字幕或内嵌字幕)。
- 没有字幕时自动提取音频并调用 OpenAI 语音转写。
- 可选择输出语言(中文
zh/ 英文en)。 - 输出为 Markdown 文件。
- Python 3.10+
- FFmpeg(需包含
ffmpeg和ffprobe命令) - OpenAI API Key(仅在"无字幕需转写"时必需)
pip install -r requirements.txtpython video_text_agent.py <视频路径> --lang zh示例:
python video_text_agent.py ./demo.mp4 --lang en --output ./demo_transcript.mdvideo:输入视频路径(必填)--lang:输出语言,zh或en(默认zh)--output:输出 Markdown 路径(默认与视频同名.md)--model:转写模型(默认TRANSCRIBE_MODEL或gpt-4o-transcribe)
OPENAI_API_KEY:OpenAI API 密钥TRANSCRIBE_MODEL:默认转写模型(可选)
生成的 Markdown 文件会包含:
- 源视频文件名
- 目标语言
- 使用方法(字幕 or 音频转写)
- 解析细节
- 最终文字内容
- 如果视频包含可读字幕,Agent 会优先使用字幕,不调用转写。
- 如果字幕格式不规范,会进行基础清洗(时间轴、样式标签、提示词等)。
- 如果没有字幕,才会走音频转写流程。
- 长视频会自动按片段转写并合并,避免单次请求超出模型时长限制。
- 每个片段转写失败会自动重试(默认 3 次,指数退避)。
- 转写结果包含每个片段的时间戳标记(如
[00:00:00 - 00:20:00])。