在上一篇容器和編解碼文章中,您已瞭解如何變更媒體檔案的容器 (擴充功能) 和編解碼。本文將說明如何變更位元率,接著說明解析度。
位元率和解析度與媒體檔案中的資料量相關。這項規則不言可喻,但我們還是要說明一下。你可以隨時降低位元率和解析度,但提高這些值會造成問題。沒有特殊軟體和演算法,品質就會受到影響。
因此,請務必使用您能取得的最高品質來源檔案開始轉換程序。在執行任何操作前,甚至在變更編解碼器或容器前,請先檢查檔案的顯示特性,並確認來源檔案的比特率或解析度高於所需結果。
位元率是用於編碼一秒媒體串流的位元數上限。用於編碼一秒串流的比特數越多,忠實度就越高。
不出所料,網路可處理的不同位元率都很低。下表列出在常見網路狀況下,應設定的目標位元率。為了方便比較,我們也加入了 Blu-ray 和 DVD 的值。
放送方式 | 位元率 |
---|---|
藍光 | 20 Mb/s |
DVD | 6 Mb/s |
電腦版網站 | 2 Mb/s |
4G 行動網路 | 0.7 Mb/s |
3G 行動網路 | 0.35 Mb/s |
2G 行動 | 視網路類型而定。 EDGE:0.4 Mb/s GPRS:0.04 Mb/s |
我該在網頁上使用哪個值來呈現影片?簡單來說,至少有:電腦、4G 和 3G。如果您在「下一個十億使用者」市場 (例如印度) 放送影片,建議您一併納入 2G。為了示範,我們將指定 3G。
使用 FFmpeg 時,您可以使用 (驚喜!) 比特率 (-b
) 標記設定比特率。
如果您尚未安裝 FFmpeg,請參閱媒體應用程式基本資訊,瞭解如何透過 Docker 設定 FFmpeg。
MP4
/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.mp4
WebM
/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.webm
請注意,有兩個比特率旗標:-b:a
和 -b:v
。一個用於音訊串流,另一個用於影像串流。
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 531117 Mar 7 13:42 glocken_3g.mp4
-rwx------ 1 root root 706119 Mar 7 13:46 glocken_3g.webm
檔案準備就緒後,請調整解析度。