若要正確地將影片轉換成音訊,來源檔案必須包含可解碼的音軌、符合工具文件中所記載的大小、時長與尺寸限制,並產生一個你的下游播放器能夠接受的 Opus 音軌 WebM 檔案。「正確」的轉換不僅僅是一個能順利完成且沒有錯誤訊息的轉換;而是一個其輸出容器、編解碼器、時長與靜音設定檔,都符合你真正想執行之工作的轉換。許多失敗或部分失敗的執行個案,來自於副檔名與內部編解碼器之間的不一致、通過大小檢查的無聲影片,或是下游播放器無法讀取輸出格式。瀏覽器中的影片轉音訊轉換器會即時播放本機檔案,使用 MediaRecorder API 擷取其音訊,並將該音訊封裝成 Opus WebM 檔案。了解此工具如何錄製、它會拒絕哪些情況,以及最終產生的檔案實際包含什麼內容,才能讓結果是可以驗證的,而非只能憑猜測。

how do i make sure i convert video to audio correctly
如何確保正確地將影片轉換成音訊

在影片轉音訊轉換中,「正確」代表什麼

這裡的正確性包含四個部分:來源含有可聽見的內容、工具確實擷取了該內容、你儲存的檔案能夠開啟並播放至完整時間軸,以及輸出格式符合你下一步操作所期待的樣貌。如果這四者中有任何一項出錯,即使沒有出現錯誤訊息,轉換就是以重要的方式「錯誤」。

音軌檢查是最常見的靜默失敗。一段被編輯過、重新匯出,或是在下載時音軌被剝除的影片,乍看之下仍像是一般的影片,而工具會明確地顯示失敗,而不是產生一個無聲的 WebM。根據產品規範,沒有音軌的影片會明確失敗,而不是產生一個無聲檔案,這正是驗證時你想要的行為:清楚的停止,勝過隱藏的零。

格式檢查是第二常見的靜默失敗。以 .mp4、.mov 或 .m4v 結尾的檔名,僅代表容器;容器內部的編解碼器仍必須是你的瀏覽器能夠解碼的格式。產品文件指出「檔名或 MIME 類型僅代表可能的容器;瀏覽器仍必須支援其內部的編解碼器」。如果解碼失敗,工具會以可見的訊息停止,而不是產生一個損毀的檔案。

為何影片轉音訊轉換會失敗

工具在六種已記載的情況下會明確失敗:沒有音軌的影片、不支援的錄製器、空白的輸出、無效的時長、超過尺寸限制,以及取消作業。每一種情況都會搭配一個可見的訊息,而不是產生損毀的下載檔案。這六種之中的兩種值得提前標示出來,因為它們對應到最常見的使用者錯誤。

沒有音軌的影片會明確失敗。這能保護你不會儲存到一個 0 位元組或無聲的 Opus WebM,然後納悶為何時間軸顯示為零。當這種情況發生時,訊息會告訴你來源沒有可解碼的音訊,你可以重新匯出帶有音訊的來源後再試一次。

尺寸超過門檻的檔案也會失敗。工具的規範將門檻定義為「任一邊不得大於 4096 像素,且總像素面積不得大於 3840 × 2160 像素」。一個 2160 × 4096 的 4K 直式影片,只有在較長的那一邊不超過 4096、且總像素數在範圍內時,才符合 4096-像素-單邊的上限;一個 8K 的母檔或 4000 × 4000 的大正方形,即使每邊都在 4096 像素以內,仍可能違反總面積規則。了解這一點能避免你在「應該符合」的檔案上遭遇意外拒絕。

容器與編解碼器之間的不一致是第三種失敗路徑。一個內含特殊音訊編解碼器的 .mov 檔,或是一個以你的瀏覽器無法解碼的影片編解碼器所錄製的 .webm 檔,都會被拒絕。副檔名是必要條件,但並非充分條件。

瀏覽器支援是第四種。Safari 及部分其他瀏覽器可能未提供 captureStream或相容的 MediaRecorder 格式,這是工具的需求,而非檔案的需求。改用目前的 Chromium 核心或 Firefox 瀏覽器通常可以解決這個問題。

逐步執行轉換

經驗證的程序包含三個操作步驟,以及一個在分頁保持開啟時於背景執行的瀏覽器端步驟。請依序執行。

  1. 選擇一個帶有音軌且受支援的本機影片。挑選一個 MP4、WebM、MOV、M4V 或 Ogg 檔案,檔案大小上限為 500 MiB,其解碼後的影片長度不超過五分鐘、任一邊不超過 4096 像素,且總像素面積不超過 3840 × 2160 像素。
  2. 選擇「Extract audio」(擷取音訊),並在影片即時處理的過程中保持分頁開啟。瀏覽器會從頭到尾播放該檔案,同時 MediaRecorder 擷取音軌;一分鐘的影片通常需要約一分鐘來處理。
  3. 檢查時長與檔案大小,然後下載 Opus WebM 音訊檔。工具會以測量所得的時長修補 WebM 容器,讓相容的播放器能夠顯示有限的播放長度。

「保持分頁開啟」是步驟 2 中最重要的部分。擷取是在播放過程中發生的,切換分頁、關閉視窗或離開頁面,都會中斷錄製串流。進度標籤會跟隨播放時間顯示,如果需要停止目前作業也可以使用「Cancel」(取消)。

工具的檔案限制門檻

規範中的每一項限制都是為了約束記憶體、播放時間與瀏覽器資源使用,且每一項都能獨立中止轉換。下方列表反映了經驗證的規範,是在點擊「Extract」(擷取)之前應該檢查的正確項目。

限制上限
來源檔案大小500 MiB
解碼後影片時長5 分鐘
較長一邊的尺寸4096 px
總像素面積3840 × 2160
接受的副檔名MP4、WebM、MOV、M4V、Ogg
輸出容器WebM
輸出音訊編解碼器Opus,128 kbps

如果檔案超出此表中任何一列的限制,工具會以可見的訊息停止,而不是自行猜測。另外一個問題是,接受的副檔名內部的編解碼器是否受支援;規範明確指出,檔名或 MIME 類型僅代表可能的容器,瀏覽器仍必須支援其內部的編解碼器。

對於超出時長或尺寸門檻的檔案,下一步應該使用具有自有匯出設定的桌面音訊編輯器。此工具是圍繞著有界限的本機瀏覽器路徑所打造;它並不承諾目前瀏覽器無法提供的格式支援,也不會繞過 DRM、平台存取控制、受保護的串流、遠端 URL 或版權限制。

輸出檔案實際上是什麼

下載的檔案是帶有 Opus 音軌(128 kbps)的 WebM 容器,而非 MP3、WAV、AAC 或 FLAC 檔案,也不是原始壓縮音訊封包的無損拷貝。這是最常見的混淆點之一:這裡所謂「正確」的轉換,是指接受輸出為 Opus in WebM,並確認下游播放器或編輯器能讀取該格式。

這是基於實作層面的原因。該工具使用瀏覽器內建的MediaRecorder,以及它找到的第一個支援的 Opus WebM MIME 類型。MP3 編碼需要額外的編解碼器相依性,而該工具刻意避免這點,以保持小巧且完全在本機執行。重新編碼可能會改變品質與檔案大小,使其相對於原始檔案有所變動,因此即便原本的音訊也是 Opus,Opus WebM 也不會與來源音訊的「解多工」拷貝逐位元組相同。

一個有用的輔助檢查是確認輸出是可以被辨識的:使用目前的瀏覽器或像 VLC 這樣支援讀取 Opus in WebM 的播放器開啟它,並確認時長與原始影片的時長一致,而非為零。MDN 上的 MediaRecorder 介面文件描述了該工具所使用的相同錄製路徑,輸出 MIME 類型是從瀏覽器支援的格式中協商出來的。

下載後確認結果

產品規範明確指出「產生的 WebM 容器會以已知的媒體時長進行修補,讓下載的檔案能在相容的播放器中回報出有限的時間軸」。這是你實際應該執行的驗證步驟,並且有三項具體的檢查值得在儲存的檔案上進行。

首先,確認時長。在相容的播放器中開啟檔案,並檢查時間軸是否符合來源影片。時長為零或接近零,表示時長修補沒有生效,這通常意味著你使用的播放器早於此修補格式。

其次,確認音訊確實有播放。將檔案從頭到尾播放,並聆聽是否與來源內容相同。在回報有時長的播放器中出現無聲檔案,是來源沒有音軌(工具先前已拒絕)的特徵;如果你走到了這一步,代表來源有音訊且錄製確實擷取到了。

第三,確認檔案大小不為零,且符合你預期的概略數量級。在 128 kbps 下,一分鐘的 Opus WebM 大約是 1 MB,視容器額外負擔而定;五分鐘的檔案大約是 5 MB。大幅小於該值的檔案是值得重新檢查的警訊;大幅大於該值的檔案雖然不常見,但不一定有錯,因為在複雜段落中,可變位元速率編碼可能會超過標稱位元速率。

若要更深入地逐步執行轉換後的檢查,影片轉音訊轉換的結果驗證指南涵蓋了開啟 Opus WebM、拖動時間軸,以及讀取檔案屬性,以確認錄製確實擷取到了來源影片所承載的內容。

若想更深入了解,請參閱在本機檔案上重複執行影片轉音訊轉換