當你使用瀏覽器型的擷取工具將影片轉換成音訊時,產出結果會是單一的 Opus WebM 音訊檔——而非 MP3、WAV、AAC 或 FLAC。該工具會在你本機影片播放時擷取其音軌,並透過 MediaRecorder 錄製外露的音軌,最後將所有分段封裝進一個 WebM 容器中,並將量測到的播放時間寫入,讓相容的播放器能回報一個明確的時間軸。由於音訊是在這段即時播放擷取過程中重新編碼的,你拿到的會是一段全新的 Opus 串流,位元率大約 128 kbps,而不是原始壓縮封包的拷貝。這個差異對於任何要在品質、檔案大小或相容性之間,與直接串流擷取進行比較的人來說都很重要:輸出的檔案大致上可用於從影片片段中拉出的語音、音樂、環境音或參考音軌,但它不是無損的拷貝,也不是 MP3。在任何支援 Opus 的播放器中,這個檔案都會像一般的 WebM 音訊檔一樣運作。

what result should i expect when i convert video to audio
將影片轉換成音訊時,應該預期什麼樣的結果

工具實際產生的內容

在一支受支援的本機影片上執行 Video to Audio Converter 的結果,是一個可下載的 WebM 檔,內含一條 Opus 音軌。編解碼器為 Opus,位元率約 128 kbps,封裝在標準 WebM 容器中,而不是較常見的 MP3 或 WAV 容器。若你下游的播放器預期的是 MP3、AAC、FLAC,或是來源壓縮串流的精確拷貝,那麼如實交付的這個檔案將無法對上——你必須再用另一個音訊工具重新封裝或重新編碼。

容器在錄製完成後會被修補。瀏覽器錄製出來的 WebM 不一定包含完整的時間軸,所以工具會把量測到的媒體播放時間寫入 WebM 的 Segment Info 元素中。這個步驟正是讓相容的播放器能顯示明確長度並可進行搜尋的原因。少了這一步,有些播放器只會顯示錄製到該時間點為止的長度,或表現得好像檔案仍在錄製中。

輸出是透過一個可撤銷的 Object URL 交付。工具在記憶體中建立下載連結,而不會把檔案寫入任何服務或後端,所以這個檔案只在分頁保持開啟、URL 仍然有效的期間歸你保留。MediaRecorder API(也是本工具所依賴的同一個瀏覽器基礎元件)支援多種容器與編解碼器組合——Opus 搭配 WebM 是相容性最廣的路徑,多數執行環境不必額外依賴就能接受。

為何擷取要以即時方式執行

擷取之所以以即時方式執行,是因為錄製策略本質上屬於播放擷取,而不是串流拷貝。工具會在媒體中繼資料載入後呼叫 HTMLMediaElement.captureStream,把擷取內容過濾為僅保留音軌,再把這個 MediaStream 餵給 MediaRecorder。接著 MediaRecorder 會在瀏覽器從零播放到結束事件為止的過程中,把分段寫入記憶體。錄製停止後,這些分段會被拼接在一起,並提供下載。

這就是為什麼一段一分鐘的影片通常需要大約一分鐘來處理。進度標籤追蹤的是播放時間,而不是一條更快的獨立解碼路徑。如果你在過程中取消,工作會以一則可見的訊息停止,並且不會提供部分檔案下載。

預覽在處理期間會被靜音。把播放元素靜音是為了避免從喇叭聽到回音,但這並不會把擷取到的 MediaStream 也靜音。只要瀏覽器支援媒體元素擷取、且至少外露一條音軌,擷取到的串流仍然會帶有來源影片的音訊。

因為所有事情都以播放速度進行,工具的資源使用量會隨檔案大小等比例增加:較短的片段會更快釋放分頁,較長的片段則會在整段播放期間持續佔用記憶體與 CPU。解碼上限設為五分鐘,正是為了限制這類資源使用量,並讓分頁保持回應。

什麼會改變,什麼保持不變

在開始之前,先了解哪些屬性會被精確保留、哪些會被轉換程序改變,會對你有幫助。

屬性轉換過程中會發生什麼事
音訊內容以 Opus 重新編碼,位元率約 128 kbps;聽得到的內容相同,編解碼器不同
播放時間在播放期間量測並寫入容器;在擷取容差範圍內與來源相符
檔案大小會改變——取決於新的 Opus 串流,而非來源封包
音訊品質已重新編碼;這不是原始壓縮封包的無損拷貝
影片資料已丟棄——輸出檔中只會寫入音軌
來源檔案完全不變——原始檔案保留在目前分頁中;不會被上傳
檔名會被替換為依據輸出檔產生的新檔名

簡而言之,播放時間會被緊密保留,聽得到的內容會被保留,但檔案大小與品質並非精確保留,而影片則完全消失。如果你的目標是取得原始音訊位元串流的忠實拷貝,那就需要使用具備直接解多工路徑的不同工具。

工具會接受與不會接受的輸入

並非每個影片檔都能使用,即使副檔名看起來很熟悉。檔名或 MIME 類型只能辨識一個可能的容器——瀏覽器仍必須能夠解碼其中的編解碼器。

限制數值
支援的容器MP4、WebM、MOV、M4V、Ogg
最大檔案大小500 MiB
最大解碼後長度5 分鐘
任一邊的最大尺寸4096 像素
最大總像素面積3840 × 2160 像素
音訊需求檔案中必須至少包含一條可解碼的音軌

沒有音軌的影片會明確失敗,而不會產生一個無聲的檔案。解碼錯誤、不支援的錄製器、空的輸出、無效的播放時間、以及過大的尺寸,這些情況都會以一則可見的訊息中止執行。Safari 和部分其他瀏覽器可能不會外露 captureStream 或相容的 MediaRecorder 格式——若工具回報「不支援的錄製器」,那就是原因所在。

如何在瀏覽器中將影片轉換成音訊

這個轉換是一個三步驟的程序,全程都在你的分頁中執行。

  1. 選擇一支帶有音軌、受支援的本機影片。檔案必須小於 500 MiB,解碼後長度不超過五分鐘;影片必須符合 4096 像素的邊長上限,以及 3840 × 2160 的總像素面積上限。
  2. 選擇「Extract audio(擷取音訊)」,並在影片以即時方式處理的期間保持分頁開啟。瀏覽器會從頭到尾播放檔案,同時 MediaRecorder 擷取音軌。
  3. 檢查播放時間與檔案大小,然後下載 Opus WebM 音訊檔。下載連結會一鍵儲存這個錄製出來的 WebM,並已將量測到的播放時間寫入。

如果錄製出來的播放時間比預期短,最常見的原因是來源檔案超過了五分鐘解碼上限,於是執行程序以一則訊息中止,而不是默默地截斷。來源全程都保留在本機——解碼、播放擷取、錄製與下載產生都在目前的瀏覽器分頁中進行,執行程序結束的瞬間就會以下載方式提供檔案,這種模式在這篇在不上傳的情況下,從本機影片拉出音訊的指南中有更詳細的說明。

何時該改用桌面音訊編輯器

瀏覽器路徑是為短而本機可取得的片段所設計,前提是 WebM 音訊是可接受的輸出。它並非針對每一種製作需求。若你需要無損的製作工作、多聲道保留、精確到取樣等級的剪輯,或是特定的交付編解碼器(例如 MP3、WAV、AAC 或 FLAC),就該改用不同的工作流程。專用的桌面音訊編輯器會提供這些控制項,並讓你在投入工作流程前先行驗證匯出設定,因為這個瀏覽器工具內部的音訊路徑是即時重新編碼,而不是對來源封包進行直接解多工。

法律與存取界線同樣重要。這個工具不會繞過 DRM、平台存取控管、受保護的串流、遠端 URL 或著作權限制。請只在你擁有或有權擷取並重用的音訊上使用。針對較長的錄音,五分鐘解碼上限會在遠遠早於來源結束前就中止執行——這是有意的限制,並不是錯誤;具備直接串流路徑的桌面工具可以處理到本瀏覽器工具無法觸及的檔案結尾。

想進一步了解,請參閱初學者:在將影片轉換成音訊之前該知道的事。