name: baidu-vod-translate description: 百度智慧雲VOD影片翻譯工具。支援字幕翻譯和語音翻譯(配音),支援使用者上傳字幕、自定義字幕樣式,支援批次處理資料夾中的影片,處理後可下載到本地或上傳到網盤。當用戶提及"影片翻譯"、"翻譯影片"、"把影片翻譯成XX語"時觸發。 allowed-tools: Bash, Read, Glob, Grep, Write, Question argument-hint: "[影片路徑] --source <源語言> --target <目標語言>" metadata: { "openclaw": { "requires": { "bins": ["python3"] } } }
將影片內容翻譯成目標語言,支援字幕翻譯和語音翻譯(配音)。
禁止直接執行命令!必須按以下流程引導使用者:
1. 識別意圖 → 判斷翻譯型別(字幕/語音/兩者)
2. 收集引數 → 使用 Question 工具詢問使用者
3. 確認配置 → 展示引數讓使用者確認
4. 使用者確認 → 才能執行命令
錯誤示例(禁止):
使用者: 幫我翻譯這個影片
Agent: [直接執行 python3 translate.py video.mp4 --source zh --target en] ❌
正確示例:
使用者: 幫我翻譯這個影片
Agent: 請選擇處理方式:
[1] 單個影片
[2] 批次處理資料夾
使用者: 1
Agent: 請問您需要哪種翻譯方式?
[1] 字幕翻譯
[2] 語音翻譯(配音)
使用者: 1
Agent: 請確認:源語言中文,目標語言英語?
使用者: 確認
Agent: [執行命令] ✓
滿足以下任一條件時觸發:
根據使用者描述,識別屬於哪種場景:
| 使用者描述關鍵詞 | 場景型別 | 推薦配置 |
|---|---|---|
| "翻譯成英語"、"翻譯成中文" | 字幕翻譯 | --subtitle(預設) |
| "配音"、"配音翻譯"、"語音翻譯" | 語音翻譯 | --speech |
| "我有字幕"、"用這個字幕" | 使用者字幕 | --subtitle-source user |
| "查任務"、"專案列表" | 任務管理 | --list-tasks/--list-projects |
| "修改字幕"、"替換字幕" | 任務修改 | --update-task |
互動模板:
使用者: 幫我翻譯這個影片
Agent: 請選擇處理方式:
[1] 單個影片 - 處理單個影片檔案
[2] 批次處理資料夾 - 處理資料夾中的所有影片
使用者: 1 或 2
互動模板:
Agent: 請提供影片檔案路徑:
使用者: /Downloads/video.mp4
互動模板:
Agent: 請提供資料夾路徑(將處理該資料夾下所有影片檔案):
使用者: /Downloads/videos/
Agent: 正在掃描資料夾中的影片檔案...
找到 5 個影片檔案:
1. video1.mp4
2. video2.mp4
3. video3.mp4
4. video4.mp4
5. video5.mp4
確認處理這些影片嗎?
掃描資料夾的實現:
使用 Glob 工具掃描常見影片格式:
Glob: <資料夾路徑>/**/*.mp4
Glob: <資料夾路徑>/**/*.mkv
Glob: <資料夾路徑>/**/*.avi
Glob: <資料夾路徑>/**/*.mov
Glob: <資料夾路徑>/**/*.webm
互動模板:
Agent: 請問您需要哪種翻譯方式?
[1] 字幕翻譯 - OCR識別字幕 → 翻譯 → 燒錄到影片(推薦)
[2] 語音翻譯(配音) - 保留原聲音色,翻譯後配音
[3] 字幕+配音 - 同時進行字幕翻譯和配音
使用者: 1
詢問源語言:
Agent: 請問影片原始語言是什麼?
[1] 中文
[2] 英語
[3] 日語
[4] 其他
使用者: 1
詢問目標語言:
Agent: 請問要翻譯成什麼語言?
[1] 英語
[2] 日語
[3] 韓語
[4] 其他
使用者: 1
如果選擇了配音相關選項,額外詢問:
Agent: 請選擇配音方式:
[1] 音色復刻 - 模仿原聲說話(推薦)
[2] AI配音 - 使用指定音色
使用者: 1
觸發條件:使用者說"我有字幕檔案"、"用這個字幕"等
互動模板:
使用者: 我有字幕檔案,幫我翻譯影片
Agent: 好的,請提供:
- 影片檔案路徑:
- 字幕檔案路徑(SRT格式):
- 字幕是什麼語言:
- 要翻譯成什麼語言:
使用者: video.mp4, subs.srt, 中文, 英語
Agent: [執行: --subtitle-source user --subtitle-file subs.srt --source zh --target en]
正在翻譯...
收集完引數後,展示配置讓使用者確認:
單個影片:
Agent: 確認以下配置:
- 影片檔案: /Downloads/video.mp4
- 翻譯方式: 字幕翻譯
- 源語言: 中文
- 目標語言: 英語
- 輸出目錄: ./output
確認執行嗎?
批次處理:
Agent: 確認以下配置:
- 處理模式: 批次處理
- 影片數量: 5 個
- 翻譯方式: 字幕翻譯
- 源語言: 中文
- 目標語言: 英語
- 輸出目錄: ./output
確認執行嗎?
使用者請求
│
├─ 查詢任務? ──────────────────────► --list-tasks / --list-projects
│
├─ 刪除專案? ──────────────────────► --delete-project
│
├─ 修改任務? ──────────────────────► --update-task
│
└─ 翻譯影片?
│
├─ 處理方式?
│ ├─ 單個影片 ──► 獲取影片檔案路徑
│ └─ 批次處理 ──► 獲取資料夾路徑 → 掃描影片檔案 → 展示列表確認
│
├─ 翻譯型別?
│ ├─ "翻譯字幕" ──► --subtitle
│ ├─ "配音" ──► --speech + 詢問配音方式
│ └─ 都要 ──► --subtitle --speech + 詢問配音方式
│
├─ 語言?
│ ├─ 源語言 ──► 確認或自動識別
│ └─ 目標語言 ──► 必須明確
│
├─ 字幕來源?(可選)
│ ├─ "有字幕檔案" ──► --subtitle-source user
│ ├─ "影片有字幕" ──► --subtitle-source ocr
│ └─ "影片無字幕" ──► --subtitle-source asr
│
└─ 確認執行
│
├─ 來自網盤? ──► 詢問是否上傳回網盤
│
└─ 執行命令
python3 scripts/translate.py <影片> --source zh --target en
適用場景:大多數影片翻譯需求 特點:OCR識別字幕 → 翻譯 → 燒錄到影片
python3 scripts/translate.py <影片> --source zh --target en --speech
適用場景:需要配音的影片 特點:保留原聲音色,翻譯後配音
python3 scripts/translate.py video1.mp4 video2.mp4 video3.mp4 --source zh --target en
適用場景:批次翻譯多個影片 特點:所有影片使用相同的翻譯配置
python3 scripts/translate.py <影片> --source zh --target en \
--subtitle-source user --subtitle-file subs.srt
適用場景:有現成字幕檔案 特點:使用使用者提供的字幕,翻譯更準確
| 使用者說法 | 對應語言程式碼 |
|---|---|
| 中文、國語、普通話 | zh |
| 中文繁體、繁體中文 | zh-TW |
| 英語、英文 | en |
| 日語、日文 | ja |
| 韓語、韓文 | ko |
| 法語、法文 | fr |
| 德語、德文 | de |
| 西班牙語 | es |
| 葡萄牙語 | pt |
| 俄語 | ru |
| 泰語 | th |
| 阿拉伯語 | ar |
Agent: 請問影片原始語言是什麼?
[1] 中文
[2] 英語
[3] 日語
[4] 其他
使用者: 不確定
Agent: 可以嘗試自動識別,或根據影片內容判斷。
建議選擇最可能的語言,如果翻譯效果不好可以重新處理。
Agent: 正在掃描資料夾中的影片檔案...
未找到影片檔案。請確認資料夾路徑正確,且包含以下格式的影片:
.mp4, .mkv, .avi, .mov, .webm
請重新提供資料夾路徑:
使用者: 我只要翻譯後的字幕檔案,不要燒錄到影片
Agent: 好的,不燒錄字幕到影片。
[執行: --no-burn-subtitle]
翻譯完成後會提供字幕檔案下載連結。
使用者: 保留原來的中文字幕,再加英文字幕
Agent: 好的,不擦除原字幕,翻譯後會同時顯示中英雙語字幕。
[執行: --no-erase-subtitle]
export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/translate.py <影片路徑> --source <源語言> --target <目標語言>
export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/translate.py <影片1> <影片2> <影片3> --source <源語言> --target <目標語言>
export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/translate.py <影片路徑> \
--source <zh|en|ja|...> \
--target <zh|en|ja|...> \
--subtitle \
--speech \
--subtitle-source <ocr|asr|user> \
--subtitle-file <字幕檔案> \
--tts-type <VOICE_CLONE|AI_DUB> \
--output-dir <輸出目錄> \
--upload-netdisk \
--netdisk-dir <網盤目錄>
使用者: 幫我把 /Downloads/video.mp4 翻譯成英語
Agent: 請選擇處理方式:
[1] 單個影片
[2] 批次處理資料夾
使用者: 1
Agent: 請問您需要哪種翻譯方式?
[1] 字幕翻譯(推薦)
[2] 語音翻譯(配音)
[3] 字幕+配音
使用者: 1
Agent: 請問影片原始語言是什麼?
[1] 中文
[2] 英語
[3] 其他
使用者: 1
Agent: 確認配置:
- 影片檔案: /Downloads/video.mp4
- 翻譯方式: 字幕翻譯
- 源語言: 中文
- 目標語言: 英語
- 輸出目錄: ./output
確認執行嗎?
使用者: 確認
Agent: 正在翻譯...
[執行: --source zh --target en]
✓ 處理完成,結果已儲存到: ./output/video_en.mp4
使用者: 幫我翻譯一個資料夾裡的所有影片
Agent: 請選擇處理方式:
[1] 單個影片
[2] 批次處理資料夾
使用者: 2
Agent: 請提供資料夾路徑:
使用者: /Downloads/videos/
Agent: 正在掃描資料夾中的影片檔案...
找到 3 個影片檔案:
1. ep01.mp4
2. ep02.mp4
3. ep03.mp4
請問您需要哪種翻譯方式?
[1] 字幕翻譯(推薦)
[2] 語音翻譯(配音)
[3] 字幕+配音
使用者: 1
Agent: 請問影片原始語言是什麼?
[1] 中文
[2] 英語
[3] 其他
使用者: 1
Agent: 請問要翻譯成什麼語言?
[1] 英語
[2] 日語
[3] 其他
使用者: 1
Agent: 確認配置:
- 處理模式: 批次處理
- 影片數量: 3 個
- 翻譯方式: 字幕翻譯
- 源語言: 中文
- 目標語言: 英語
- 輸出目錄: ./output
確認執行嗎?
使用者: 確認
Agent: 正在批次翻譯...
[執行: ep01.mp4 ep02.mp4 ep03.mp4 --source zh --target en]
✓ 全部處理完成
使用者: 幫我把這個中文影片配上英語配音
Agent: 請選擇處理方式:
[1] 單個影片
[2] 批次處理資料夾
使用者: 1
Agent: 請提供影片檔案路徑:
使用者: /Downloads/movie.mp4
Agent: 請選擇配音方式:
[1] 音色復刻 - 模仿原聲說話(推薦)
[2] AI配音 - 使用指定音色
使用者: 1
Agent: 確認配置:
- 影片檔案: /Downloads/movie.mp4
- 翻譯方式: 語音翻譯(配音)
- 配音方式: 音色復刻
- 源語言: 中文
- 目標語言: 英語
確認執行嗎?
使用者: 確認
Agent: 正在處理,配音需要較長時間...
[執行: --source zh --target en --speech]
✓ 處理完成
export BAIDU_VOD_AK="your_access_key"
export BAIDU_VOD_SK="your_secret_key"
獲取方式: 1. 登入 百度智慧雲控制台 2. 開通 智慧點播平臺 VOD 3. 在 安全認證 獲取 AK/SK
如需從網盤下載或上傳到網盤,需要:
1. 安裝 bdpan CLI
2. 執行 bdpan login 登入
--no-wait 引數不等待,稍後查詢任務狀態來源於7w4.net。
這個影片翻譯工具質量較好,功能覆蓋字幕翻譯、配音、批次處理等主流場景。文件寫得詳細規範,示例豐富,考慮了各種使用情況,能幫助使用者順利完成翻譯任務。美中不足是文件內容較長需要花時間閱讀,部分功能的設定項較多,初次使用可能需要一定學習成本。總體而言是一款完成度較高的翻譯工具。