大多數影片轉音訊的錯誤可以追溯到三個原因:期望從只會產生 Opus WebM 的工具輸出 MP3 或 WAV、相信支援的副檔名就代表內部的編解碼器也支援,以及使用無法透過 MediaRecorder 暴露音訊軌的瀏覽器。這些錯誤都來自於在瀏覽器工作流程中看似合理、實際卻錯誤的假設。容器不等於編解碼器,副檔名不是契約,錄製步驟會以即時速度在播放時執行,而不是在幾秒鐘內完成。對於第一次使用的使用者來說,這些都不明顯,而且每一個都會產生無聲、空白的輸出或遭到拒絕的檔案,讓人誤以為工具壞了。提前辨識每種模式是避免這些錯誤最快的方法。下面的章節會將最常見的失敗模式對應到它們出現的確切步驟,然後逐步示範一次能避開所有錯誤的轉檔流程。

what are common mistakes when i convert video to audio
為什麼你的影片轉音訊會出錯

來自輸出格式的錯誤

最常見的影片轉音訊錯誤,就是預期輸出會是 MP3、WAV、AAC 或 FLAC。許多轉檔工具標榜支援 MP3,所以使用者以為每個工具的行為都一樣。基於瀏覽器、使用 MediaRecorder 的工具並沒有內建的 MP3 編碼器;文件記載的可用格式是 Opus 封裝在 WebM 容器中。如果你的工作流程需要 MP3 或 WAV,你需要的是桌面工具或伺服器端管線,而不是一個本地分頁。

第二個相關的錯誤,是假設副檔名可以直接從 .webm 改為 .mp3 而不需要重新編碼。改名只會改變外殼,內部的音訊串流仍然是 Opus。嚴格檢查副檔名或宣告的 MIME 類型的播放器會拒絕這個改名的檔案,任何讀取標籤的軟體也會回報錯誤的編解碼器。要把 Opus 重新編碼成 MP3 或 WAV,只有透過第二個支援這些編解碼器的工具來執行,而不是改檔名。

第三個錯誤,是把下載的檔案當作原始音訊封包的無損拷貝。瀏覽器會解碼影片、透過媒體元素播放,然後重新錄製音訊串流。這個重新編碼步驟會改變品質和檔案大小。最終結果是一個 128 kbps 的 Opus WebM 音訊軌,擷取了原始的可聽內容,而不是來源音訊串流的逐位元擷取。

來自來源檔案的錯誤

下一類錯誤源自來源檔案的識別方式。以 .mp4 或 .mov 結尾的檔名只標示了容器,並不能保證內部的音訊和影片編解碼器。當瀏覽器無法解碼這些編解碼器時,影片元素根本不會載入,音訊軌也不會出現,任何擷取步驟都會以明確的錯誤訊息失敗。副檔名是標籤,不是契約。

另一個來源端的錯誤,是指到一開始就不含音訊軌的檔案。例如投影片、系統音訊靜音的螢幕錄影,或匯出時沒有聲音的影片,都會觸發「no audio track」之類的明確訊息。修正方法是在開始前確認來源有音訊:用任何播放器開啟它,觀察音量表是否會跳動,然後才嘗試轉檔。

第三個錯誤,是忽略文件記載的來源限制。本地瀏覽器路徑對檔案大小、時長和像素尺寸有嚴格上限,因為記憶體和播放時間在分頁中是實際的限制。挑選超過這些上限的影片,保證會看到明顯的錯誤訊息和部分或空白的結果。具體數值列於後面的章節。

轉檔過程本身的錯誤

即時處理是工作流程中最被低估的部分。瀏覽器在播放時擷取媒體元素,所以擷取時間大約等於來源影片的播放時間。一分鐘的片段大約需要一分鐘;四分鐘的片段大約需要四分鐘。常見的錯誤是:期望「立即」得到結果而關閉分頁,這會取消錄製,最後什麼檔案都沒留下。

相關的錯誤,是在錄製尚未結束前就中斷分頁。跟隨播放時間的進度標籤就是該注意的指標,而 Cancel 會停止目前的工作。下載只會在播放到達片段結尾後才出現。

另一個常見的錯誤,是使用 Safari 或其他不支援或沒有相容 MediaRecorder 格式的瀏覽器。音訊路徑會在影片元素上使用 HTMLMediaElement.captureStream,然後用瀏覽器提供的第一個支援的 Opus WebM MIME 類型來錄製該僅含音訊的 MediaStream。當其中任何一環缺失時,工具會顯示明確的訊息並停止,而不是產生損壞的檔案。修正方法是在最近的 Chromium 核心或 Firefox 版本中執行轉檔。

正確將影片轉成音訊的方法

使用 Video to Audio Converter 可以避免上述大多數錯誤,因為這個工具正是圍繞著本文所述的瀏覽器路徑所打造。依照下列步驟即可順利完成。

  1. 選擇一個本地 MP4、WebM、MOV、M4V 或 Ogg 檔案,大小不超過 500 MiB,時長不超過五分鐘,並且在任何播放器中開啟時都能聽到音訊軌。
  2. 在最近的 Chromium 核心或 Firefox 瀏覽器中開啟 Video to Audio Converter 頁面,從裝置中選擇本地檔案。檔案會在當前分頁內讀取。
  3. 點擊 Extract audio,並在瀏覽器播放影片、MediaRecorder 即時擷取音訊串流的過程中,保持分頁開啟且處於作用中狀態。
  4. 觀察進度標籤隨著播放時間推進。只有在需要中止並嘗試其他來源時才按 Cancel;否則請等待播放到達片段結尾。
  5. 錄製結束後,檢查結果旁顯示的時長與檔案大小,然後下載 Opus WebM 音訊檔。容器已修補為測量得到的時長,因此相容的播放器會回報有限的時間軸。

關於來源限制與瀏覽器限制的錯誤

本地瀏覽器路徑能處理的確切上限很容易被誤讀。下表列出文件記載的限制數值;超出這些數值的內容將無法處理,工具會顯示明確訊息並停止,而不是產生部分檔案。

限制項目文件記載的數值
支援的容器類型MP4、WebM、MOV、M4V、Ogg
來源檔案大小上限500 MiB
解碼後時長上限5 分鐘
每邊像素上限4096
像素總面積上限3840 × 2160
輸出容器與編解碼器WebM 搭配 128 kbps 的 Opus 音訊軌
必要的媒體元素至少一個可解碼的音訊軌

一個常見的實際錯誤,是把這些限制當成建議值來挑戰。12 分鐘的片段,或長邊有 5000 像素的 4K 檔案,即使副檔名在支援清單中,也會在擷取開始前就被拒絕。如果工作流程需要更長或更大的來源,正確的答案是使用專用的桌面工具,而不是瀏覽器分頁。

就底層行為而言,瀏覽器使用 HTMLMediaElement captureStream 方法 來暴露音訊軌,並使用 MediaRecorder API 將擷取到的區塊寫入 WebM 容器。正是這兩個瀏覽器 API 導致 Safari 和少數其他引擎即使在檔案格式其他方面都支援的情況下,仍無法完成這項工作。

關於隱私、權利以及輸出實際內容的錯誤

在任何誠實的清單中,還必須列入另外兩個錯誤。第一個是假設影片會被上傳。本地瀏覽器路徑會在當前分頁內完成解碼、播放、擷取和錄製。來源檔案留在裝置上,不會有任何 API 收到內容。這項隱私特性正是檔案大小和時長限制存在的原因:因為永遠不會串流到伺服器,分頁本身就必須在播放過程中容納整個媒體串流。

第二個是在未檢查權利的情況下,將輸出視為可自由重複使用的拷貝。這個工具不會繞過 DRM、平台存取控制、受保護的串流、遠端 URL 或著作權限制。請僅在擁有來源或已取得明確授權可擷取並重複使用其音訊時,才使用這個結果。對於長時長錄音、無損製作工作、多聲道保存、精準剪輯或特定交付編解碼器,專用桌面音訊編輯器仍然是正確的選擇。

想更深入了解編解碼器選擇和限制如何影響結果,請參閱從影片擷取音訊:精確度、編解碼器與限制指南,其中更詳細地說明了相關取捨。

如果你正在權衡各種方案,修正調整大小後看起來錯誤的影片結果對此有詳細說明。