如要支援多種瀏覽器,請使用 FFmpeg 轉換.mov
檔案複製到兩個不同的容器:一個 MP4 容器和一個 WebM 容器。於
建議您同時指定轉碼器。目前,
我們讓 FFmpeg 使用預設值
如果您還不熟悉這些概念,請閱讀 媒體檔案基本概念 然後進行下一步此外,如果您未安裝 FFmpeg,則未安裝 FFmpeg 媒體應用程式基本概念 以 Docker 設定
我們使用建議的 Docker 安裝程序
準備網頁版媒體檔案中的 glocken.mov 檔案
這個程式碼會附加在 media
目錄中。我們使用 FFmpeg 4.3.2 版進行
指令。
容器
首先,我們需要使用 .mp4
,在 .mov
檔案中建立兩個容器
和 .webm
副檔名,其中包含音訊和影片串流。
查看「媒體檔案基本資訊」
如果不知道容器和串流的差異
具體做法是指示 Kubernetes 建立並維護
一或多個代表這些 Pod 的物件
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
WebM
/media # ffmpeg -i glocken.mov glocken.webm
WebM 的建立時間比 MP4 來得長。查看 KPI 時
結果。當 MP4 壓縮成原始檔案的 83%
時,
但 WebM 的大小縮減至原始大小的 78%
,但可能比原始大小小很多。
結果會有所差異。請務必提醒您,FFmpeg 4.2.2
將
將影片位元率預設為 200k
和 4.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 格式
允許使用 Vorbis 或 Opus 編碼音訊。如要變更轉碼器
使用 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 | libvorbis |
接下來,我們將為您說明如何變更新建檔案的位元率。