容器和轉碼器

Derek Herman
Derek Herman
Joe Medley
Joe Medley

如要支援多種瀏覽器,請使用 FFmpeg 轉換.mov 檔案複製到兩個不同的容器:一個 MP4 容器和一個 WebM 容器。於 建議您同時指定轉碼器。目前, 我們讓 FFmpeg 使用預設值

如果您還不熟悉這些概念,請閱讀 媒體檔案基本概念 然後進行下一步此外,如果您未安裝 FFmpeg,則未安裝 FFmpeg 媒體應用程式基本概念 以 Docker 設定

我們使用建議的 Docker 安裝程序 準備網頁版媒體檔案中的 glocken.mov 檔案 這個程式碼會附加在 media 目錄中。我們使用 FFmpeg 4.3.2 版進行 指令。

容器

首先,我們需要使用 .mp4,在 .mov 檔案中建立兩個容器 和 .webm 副檔名,其中包含音訊和影片串流。 查看「媒體檔案基本資訊」 如果不知道容器和串流的差異 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件

  1. MP4

    /media # ffmpeg -i glocken.mov glocken.mp4
    
  2. WebM

    /media # ffmpeg -i glocken.mov glocken.webm
    

WebM 的建立時間比 MP4 來得長。查看 KPI 時 結果。當 MP4 壓縮成原始檔案的 83% 時, 但 WebM 的大小縮減至原始大小的 78%,但可能比原始大小小很多。 結果會有所差異。請務必提醒您,FFmpeg 4.2.2 將 將影片位元率預設為 200k4.3.2,但不會設定預設位元率。 因此影片不再是4%原始內容。您或許可以自行操作 請在媒體檔案所在的資料夾中,使用 ls -a bash 指令

例如:

/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root   9503301 Mar 7 18:30 glocken.webm

如要取得小檔案,請改採此做法:

/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame=  300 fps=3.6 q=0.0 Lsize=     483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root    494497 Mar 7 18:45 glocken.webm

檢查成果

如要驗證結果,請使用 FFmpeg 和 Shaka Packager (如 媒體應用程式基本概念

/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4

轉碼器

接下來是轉碼器。如「媒體檔案基本概念」一文所述 「不」等同於容器 (檔案類型)。同一個容器的兩個檔案 類型就可能會使用不同的轉碼器壓縮資料。範例:WebM 格式 允許使用 VorbisOpus 編碼音訊。如要變更轉碼器 使用 FFmpeg舉例來說,這個指令會輸出含有 vorbis 音訊的 .mkv 檔案 轉碼器和 av1 視訊轉碼器。

/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv

在這個範例中,-c:a 標記和 -c:v 用於指定音訊並 視訊轉碼器。

「媒體轉換」頁面會列出 轉換轉碼器。下表摘要說明所用程式庫 以執行 WebM 和 MP4 檔案的轉碼器轉換。這些是 分別為 DASH 和 HTTP 即時串流建議的格式。

影片

轉碼器 擴充功能 媒體庫
av1 WebM、mkv Libaom-av1
h264 MP4 libx264
vp9 WebM libvpx-vp9

音訊

轉碼器 擴充功能 媒體庫
亞太地區 MP4 亞太地區
奧圖斯 WebM Libopus
Vorbis WebM 利波比斯

接下來,我們將示範如何變更新建檔案的位元率