yizhi-chengzi/video-ai-talking
想做真人口播,又不必自己对着镜头念。上传一段真人出镜视频,写好字幕,本机配音并对口型,合成竖屏 MP4。密钥只留在浏览器里。
video-ai-talking – AI 驅動的「真人」對話頭像影片生成器
是什麼
- 一個在本地運行的 Web 應用,將一個人的臉部靜止影片轉換為完整的對話頭像影片。您提供腳本(或讓工具透過 DeepSeek 生成),應用會產生合成語音,使用 Alibaba Bailian VideoRetalk 進行唇形同步,再透過 FFmpeg 將所有內容組合,支援可選背景畫面與字幕。
為何重要
- 讓創作者無需錄製配音或手動調整唇形同步即可製作「對話頭像」影片。所有處理均在您的裝置上完成——無需雲端伺服器儲存您的金鑰或媒體。
核心元件
| 元件 | 作用 | 提供方 |
|---|---|---|
| 文字轉語音 | 產生語音音訊 | Alibaba Bailian CosyVoice 或 Volcengine(字節跳動)TTS |
| 唇形同步 | 將音訊與面部動作對齊 | Alibaba Bailian VideoRetalk |
| 腳本生成(可選) | 根據主題自動產生旁白 | DeepSeek LLM |
| 影片合成 | 組合面部影片、產生語音、可選背景音樂與額外畫面,加入字幕/標題 | FFmpeg(本地) |
所需條件
- Node 20+ 及已正確安裝的 FFmpeg/ffprobe。
- 您計劃使用的服務的 API 憑證:
- Bailian VideoRetalk(唇形同步必需)
- Bailian CosyVoice 或 Volcengine TTS(語音生成)
- DeepSeek(可選,用於 AI 生成腳本)
- 一段清晰的、正面拍攝的單人影片(無需語音)。
快速上手
# 克隆並安裝
git clone https://github.com/yizhi-chengzi/video-ai-talking.git
cd video-ai-talking
cp .env.example .env
npm install
# 開發模式(於 http://127.0.0.1:5175 開啟)
npm run dev
- 打開 Web UI,填寫 設定 面板中的 API 密鑰,並測試連接。
- 拖曳您的「對話頭像」影片片段,添加所需的背景畫面,選擇 TTS 音色,手動編寫腳本或讓 AI 自動生成。
- 選擇字幕/皮膚樣式,點擊 開始生成。流程為:TTS → VideoRetalk → FFmpeg → 最終 MP4。
- 完成的影片將出現在 資料庫 面板中,可預覽、下載或刪除。
本地資料處理
- API 密鑰僅儲存在瀏覽器的
localStorage中(不會傳送至遠端伺服器)。 - 所有中間檔案(JSON 任務描述、原始音訊、唇形同步影片、最終 MP4)均儲存在專案
data/資料夾下。 - VideoRetalk 所需的暫時上傳檔案將儲存在 Alibaba 的 OSS 上約 48 小時,之後自動刪除。
典型使用流程
- 設定 – 輸入 Bailian VideoRetalk 密鑰;選擇 TTS 提供方並輸入憑證。
- 載入來源影片 – 清晰的正面拍攝的講者影片片段。
- 新增素材 – 可選背景音樂或全螢幕切入畫面。
- 建立腳本 – 手動輸入或讓 DeepSeek 生成(可選長度、主題)。
- 選擇皮膚 – 選擇字幕樣式、標題可見性等。
- 生成 – 應用一次性生成語音、唇形同步影片和最終 MP4。
- 審查 – 在資料庫中觀看或下載;如需可重新生成。
開發與測試
npm test執行單元測試,所有外部服務均被模擬。npm run typecheck檢查 TypeScript 類型。- 設定
VAT_MOCK=1可模擬 TTS、VideoRetalk 和 DeepSeek,用於離線實驗。
安全與授權
- MIT 授權,但請參閱內嵌的
DISCLAIMER.md、SECURITY.md和privacy.md了解使用警告(例如:人臉資料會暫時上傳至 Bailian 用於唇形同步)。 - README 中展示的示範影片來自免費可使用素材庫,並非 本工具的實際使用者。
總結:video-ai-talking 是一個實用、自托管的 AI 輔助對話頭像影片生成工具,結合現代 TTS、唇形同步與影片合成技術,同時將所有資料保留在您自己的電腦上。
相關
- 專案
- 專案
- 專案
- 專案