像 .mp4 或 .mov 這類支援的副檔名,只描述包裝你媒體的容器,而不是儲存在其中的音訊和影片編解碼器,而「容器看起來對」與「編解碼器符合瀏覽器能解碼的項目」之間的落差,是影片轉音訊仍然失敗最常見的原因。副檔名基本上只是一個標籤;裡面的位元組遵循二十年多年來在裝置、編碼器和軟體版本之間不斷演變的規則,因此兩個副檔名完全相同的 .mp4 檔案,可能包含完全不同的編解碼器組合。當你在瀏覽器型轉檔工具中選擇一段影片時,該工具不會檢查副檔名就信任它:它必須將檔案交給瀏覽器,由瀏覽器檢查內部的特定編解碼器是否能解碼。音訊也是同樣的情況:影片容器可能完全可以讀取,但完全沒有音軌,或者以目前的瀏覽器無法解讀的編解碼器承載音訊。辨識容器與編解碼器之間的這個差異,是將一次失敗的擷取轉化為成功擷取的第一步。

why does a supported extension still fail when i convert video to audio
為何支援的副檔名在影片轉音訊時仍然失敗

支援的副檔名實際上描述了什麼

副檔名是給作業系統的一個提示,而不是關於內部位元組的契約。MP4(技術上稱為 ISO BMFF)、MOV(QuickTime File Format)、WebM、M4V 和 Ogg 都是容器格式。每個容器可以承載許多不同的音訊和影片編解碼器組合,而最終出現在檔案中的組合,取決於產生該檔案的程式。iPhone 可能將 HEVC 影片搭配 AAC 音訊錄製在 MP4 容器中,而螢幕錄影工具可能將 VP9 影片和 Opus 音訊儲存在 WebM 檔案內,其副檔名與另一個完全不同的檔案相同。

對於瀏覽器型轉檔工具來說,相關的問題不是「這個檔案是不是以 .mp4 結尾」,而是「使用者的瀏覽器是否能解碼檔案內部的特定音訊編解碼器?」如果瀏覽器能播放該音訊,就代表它內建了該編解碼器。如果不能,轉檔路徑在任何擷取開始之前就會中止。這是大多數使用者感到意外的部分:在家中用 VLC 能順利開啟的檔案,在瀏覽器工具中仍可能會失敗,因為瀏覽器隨附的編解碼器堆疊,小於桌面播放器所安裝的編解碼器套件。

同樣的規則也適用於音訊編解碼器。AAC(用於許多來自 Apple 裝置的 MP4 和 MOV 檔案)、MP3、Opus(WebM 中常見)、Vorbis(Ogg 中常見)和 FLAC 都有不同的瀏覽器支援概況。即使副檔名一致,內含 PCM 音訊的 MOV 檔案,與內含 AAC 的 MOV 檔案,是不同的擷取工作。

支援的副檔名仍然失敗的其他原因

除了編解碼器問題之外,即使副檔名在支援清單中,還有其他幾種情況會讓擷取動作停擺:

影片沒有音軌。無聲影片、沒有麥克風音訊的螢幕錄影,或是唯一串流只有影片的檔案,在轉檔工具要求至少一條音軌才能擷取時,會明確失敗。瀏覽器仍然能解碼畫面;只是沒有東西可以放進音訊錄製器。

瀏覽器沒有公開正確的錄製原語。Video to Audio Converter 仰賴 HTMLMediaElement.captureStream 以及支援 Opus WebM MIME 類型的 MediaRecorder。Safari 和某些其他瀏覽器可能不會公開 captureStream,或者不包含與 Opus WebM 相容的 MediaRecorder 設定檔,這會在任何輸出產生之前,以可見訊息中止執行。

檔案超過文件記載的上限。即使編解碼器沒問題,瀏覽器仍會對檔案大小、解碼後的持續時間和尺寸強制設定嚴格的界線。這些限制是為了保護記憶體、解碼時間和分頁的穩定性。超出這些限制的檔案會產生明確的錯誤,而不是產出部分檔案。

瀏覽器工作階段本身就是處理器。由於不會上傳任何內容,也沒有伺服器負責執行工作,因此目前瀏覽器中可用的編解碼器支援決定了執行結果,而且這會依瀏覽器而異,而不是依副檔名而異。

在這裡值得特別說明的是,輸出永遠是 WebM 容器中的 Opus,無論輸入檔案內容為何。轉檔並不是原始音訊封包的複製 —— 它是透過瀏覽器的 MediaRecorder 重新編碼。這代表輸出是只有音訊的 WebM,而非 MP3、WAV、AAC 或 FLAC。

當副檔名相符時,如何將影片轉換為音訊

當編解碼器、尺寸、持續時間和瀏覽器全都對齊時,透過 Video to Audio Converter 的流程很短:

  1. 從你的裝置中選擇一個 MP4、WebM、MOV、M4V 或 Ogg 檔案,且其中含有你想要擷取的音軌。
  2. 選擇「Extract audio」並保持分頁開啟。瀏覽器會即時播放影片,同時 MediaRecorder 擷取公開的音訊串流,因此大約一分鐘的影片,處理時間也大約是一分鐘。進度標籤會跟隨播放進度移動。
  3. 檢查顯示的持續時間和檔案大小,然後下載 Opus WebM 音訊檔案。如果你需要停止已經在進行中的執行,可以使用取消。

這項工具絕不會上傳來源檔案,也絕不會為了音訊而呼叫 API,更不會保留輸出內容。一切都發生在目前的分頁中,而下載則透過可撤銷的物件 URL 提供。

會觸發可見錯誤的限制

Video to Audio Converter 強制實施一組精簡且有文件記載的界線。只要超出其中任何一項,就會以可見訊息中止執行,而不會產出部分檔案或無聲檔案。

界線 數值 超出時會發生什麼情況
檔案大小 最大 500 MiB 在解碼之前顯示可見錯誤;不會啟動任何作業。
解碼後的持續時間 不超過 5 分鐘 在驗證期間顯示可見錯誤。
最長邊 不超過 4096 像素 在尺寸檢查期間顯示可見錯誤。
總面積 不超過 3840 × 2160 像素 在尺寸檢查期間顯示可見錯誤。
必要的媒體軌 至少一條音軌 當容器沒有音訊串流時,顯示可見錯誤。

這些限制描述的是目前瀏覽器在單一分頁中能夠解碼和錄製的範圍。它們並非可重新設定的政策選擇;而是反映工具中記載的記憶體和播放限制。

在重試前先檢查失敗原因

失敗的執行通常指向三個原因之一,而快速檢查能迅速縮小下一步的方向:

音軌真的存在嗎?在媒體播放器中開啟檔案,確認有聲音。ffprobe 或 VLC 的「工具 → 編解碼器資訊」會列出串流。如果完全沒有列出音訊串流,任何瀏覽器型轉檔工具都無法從中產出音訊檔案。

瓶頸是不是瀏覽器?在同一台機器上改用基於 Chromium 的瀏覽器,並嘗試同一個檔案。如果擷取在該環境能成功,那麼原因就是 Safari 對 captureStream 的支援(或缺乏支援),而解決方法就是更換瀏覽器,而不是更換檔案。

編解碼器是否已檢查過?使用媒體資訊工具,查看容器內的音訊是 AAC、Opus、MP3、Vorbis、PCM 或是較不常見的格式。如果音訊編解碼器是你的瀏覽器無法解碼的類型,執行會在錄製開始之前就失敗。若要了解此工具所依賴的 captureStream 原幕的相關背景,MDN captureStream 參考資料是個有用的起點。

還有兩件事在特殊情況下會有幫助。首先,該工具不會繞過 DRM、平台存取控制、受保護的串流或遠端 URL,因此任何來自付費串流下載的檔案,原則上都會失敗,不應該重複使用。其次,輸出是 Opus WebM 音訊檔案,因此若軟體預期 MP3 或 WAV,而下載內容播放起來無聲,那其實並非空白;瓶頸在播放器,而非轉檔工具。

對於長錄音、無損製作工作、多聲道保存,或精確的剪輯,專用的桌面音訊編輯器才是合適的工具。Video to Audio Converter 是為短片上廣泛實用的本機瀏覽器路徑所打造,這樣的定位正是讓限制和警告訊息可預測的原因。如果想更深入了解轉檔前的檢查,指南 如何確保影片轉音訊成功 以檢查清單的形式列出了相同的條件。

相關閱讀: 為何將影片轉為音訊會耗費整段影片的時間。