6 min給工具使用者

旁白與畫面切換不同步?用音檔時長排場景時間表

用實際音檔長度排場景起訖,分清每章一檔與單一長音軌,避免重複計入停頓。附文內可複製空白工作表與三場景虛構算例,並說明匯出後怎麼回看。

Aaron Huang系統、產品與 AI 實作

旁白與畫面切換不同步?用音檔時長排場景時間表

旁白還在解釋上一章,畫面卻已翻到下一頁,先把場景時間表改成以音檔為準:量出每章實際長度,標清停頓放在哪裡,再決定切畫面的時間。

稿件字數可以幫忙估篇幅,不能代替已生成音檔的長度。

以下整理一套手動排表方法,文內提供可複製的空白表格與三場景人工算例。沒有生成配音、操作剪輯軟體或匯出測試;算例的數字全是虛構教學資料。

先確認:是章節錯位,還是另一種聲畫問題?

本文處理的是「旁白講哪一章,畫面就應顯示哪一章」。例如聲音開始講第二步,畫面仍停在第一步,便能用章節起訖與轉場時間查出差距。

這個需求在 html-video 的 Issue #36 與 Issue #66 出現過:同一位使用者先詢問配音長度與畫面切換如何對齊,之後再詢問文章章節能否自動對齊。這是一個使用者的兩則需求訊號,不能據此推算有多少人遇到,也不是功能已完成的證據。

html-video 的 README「Soundtrack」 描述配音、背景音樂及匯出混音,這段說明不足以證明會自動逐章同步。若工具已能產生旁白,仍要另外核對章節時間。

若你遇到的是人物嘴型不合、藍牙或裝置播放延遲,或越播越偏的採樣/時鐘漂移,先停下來辨識原因;下面這張章節表不提供那些問題的修復方法。

用有權使用的音檔量時間

拿一份有權使用的旁白副本,先固定版本與檔名,再量時間。配音重做、語速調整、刪掉句子或修剪靜音,都可能改變後面的切點。

如果已在使用 Audacity,可選取音檔或一章的範圍,在 Selection Toolbar 讀取起點、終點或選取長度。官方手冊列有 Start and End、Start and Length 等顯示方式;統一用秒與毫秒記錄,避免把「1 分 30 秒」輸入成「1.30 秒」。選取範圍的長度只是量測結果,哪一句屬於哪一章仍要自己聽。Audacity Selection Toolbar 手冊

若環境已備有 ffprobe,也可用下面的命令查一個音檔的容器時長。這是依文件整理的命令示意,本文未執行,請把檔名換成自己的副本:

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "chapter-01.wav"

這個數字用來記錄整檔長度,不能識別章節或判定說話何時結束。若沒有回傳可用數值,先標「待量測」,不要填零或用字數猜。整檔也可能包含頭尾靜音;若要修剪,請以修剪後實際採用的版本重新量測。ffprobe 文件:show_entries 與輸出格式

每章一個音檔:只把新增停頓加一次

以每章獨立音檔、從影片 0 秒開始、不重疊播放、直接切換畫面為例。表內「音檔實際長度」包含檔案本來就有的靜音;「章後新增停頓」只填另外插入的空白時間。已在音檔裡的停頓不能再加一次。

計算方式是:

  • 第一場景開始時間為 0 秒
  • 場景結束時間=場景開始時間+該章音檔實際長度+章後新增停頓
  • 下一場景開始時間=上一場景結束時間

下列數字是人工設定的算例,沒有對應真實音檔或播放結果:

場景 音檔長度(秒) 新增停頓(秒) 場景開始(秒) 場景結束(秒) 畫面安排
1 問題 8.4 0.6 0.0 9.0 顯示問題,留到停頓結束
2 方法 12.2 0.8 9.0 22.0 顯示方法與步驟
3 結論 7.5 0.5 22.0 30.0 顯示結論,最後留白後結束

這個排法把停頓留給前一個畫面,預定在 9 秒與 22 秒切換,30 秒結束。旁白共 28.1 秒,新增停頓共 1.9 秒,相加為 30 秒。這只核對了算術,尚未證明畫面切在合適的語意位置。

先用直接切換把時間排清楚。若之後加淡入淡出,表內也要記下轉場開始與結束;畫面重疊的期間不能直接當成額外片長再加一次。請以實際工具的時間軸為準。

單一長音軌:保留原軌起訖,不重新累加

若旁白已是一條完整長音軌,包含所有章間停頓,就在原音軌上標章節。不要把每章長度與原有停頓再累加到原軌的開始時間。

沿用上面的虛構情境,假設長音軌從影片 0 秒開始,章節語音範圍是 0–8.4、9–21.2、22–29.5 秒,章間與尾端停頓已經存在,整軌長 30 秒。場景仍可排成 0–9、9–22、22–30 秒;「新增停頓」填 0,原有停頓只記在說明欄。

這裡第二章的場景直接從原軌 9 秒開始,不能再加前一章的 9 秒而變成 18 秒。若整條音軌在影片中延後 2 秒開始,原軌所有切點統一加 2 秒;若剪掉中間一段或真的插入停頓,就已改動時間軸,需要重標受影響的章節。

工作表怎麼填,才查得到錯位?

下方空白表格的時間單位統一為秒。可複製後手動填寫,不會隨輸入自動計算;缺資料就留白並寫「待量測」,不要用 0 代替未知值。

欄位 要記什麼
章節與音軌模式 哪一章;每章一檔或單一長音軌
音檔與版本/來源起訖 能重新找到同一份音檔;長音軌必填原軌起訖
實際長度 獨立音檔的採用長度,或長音軌所選章節的終點減起點
章後新增停頓 尚未包含於採用音檔/原軌中的額外停頓
場景起訖與畫面 影片時間軸上的預定範圍,以及要顯示的內容
實際轉場開始/結束 回看輸出時記錄;直接切換可填相同時間,尚未回看就留白
修正狀態 待量測、待回看、需調整,或已回看,另記具體問題

「實際轉場」欄先留白,回看輸出後才填寫。上方算例有計算好的場景起訖,不表示已測得匯出影片的切換時間。

可複製的空白表格

每章一列;「起訖」請填開始與結束兩個數值,時間均為秒。沒有量測值時,數值欄留白,修正狀態記「待量測」。

章節/音軌模式 音檔與版本 來源起訖 實際長度 章後新增停頓 場景起訖 畫面 實際轉場起訖 修正狀態/備註

匯出後,逐個轉場前後聽看

不要只核對「音檔與影片都是 30 秒」。兩者總長相同,第二章也可能提前或延後出現。

回看每個切點前後的一小段,例如前後各 1–2 秒;這是起始檢查範圍,遇到長句就向前後延伸。確認上一章末句說完時仍有對應畫面、下一章第一句出現時畫面已到位,並記下實際轉場時間。最後再完整聽看一次,檢查開頭、結尾與章內的重要畫面。

若句子還沒講完就翻頁,先比對本章實際長度、是否漏掉停頓,以及工具有沒有把預定時間套用到輸出。畫面重排後重新匯出回看;若改的是旁白,從音檔量測重新開始,重算受影響的後續場景。

這張表的用途,是讓「哪一章、哪一秒、哪個畫面不合」能被指出來。只有完成聽看並記錄修正,才能把該次版本標為已核對。