比特率

德里克·赫尔曼
Derek Herman
Joe Medley
Joe Medley

在之前的容器和编解码器一文中,您了解了如何更改媒体文件的容器(扩展程序)和编解码器。在本文中,我们将先介绍如何更改比特率,然后再解释分辨率

比特率和分辨率与媒体文件中的数据量相关。看似不言自明,但无论如何我们还是要说。您随时都可以降低比特率和分辨率,但提高比特率和分辨率会带来问题。如果没有特殊的软件和算法,质量将会受到影响。

因此,在启动转换流程时,一定要使用您手中手头最高品质的源文件。在执行任何操作之前,甚至在更改编解码器或容器之前,都应该检查文件的显示特性,并验证源文件的比特率或分辨率是否高于您期望的结果。

比特率是用于对媒体流的一秒进行编码的最大位数。用于对一秒流进行编码的位越多,保真度就越高。

毫无疑问,网络可以处理的不同比特率很低。下表显示了在常见网络条件下您应设置的目标比特率。为了便于比较,我们输入了蓝光和 DVD 的值。

投放方式 比特率
蓝光 20Mb
DVD 6 MB
桌面版网站 2 Mb
4G 移动网络 0.7 Mb
3G 移动网络 0.35 Mbs
2G 移动网络 取决于网络类型。

EDGE:0.4 Mbs
GPRS:0.04Mbs

我应该为网页上的视频使用哪个值?简单来说,至少是:桌面设备、4G 和 3G。例如,如果您在印度称为“下一批十亿用户”的市场中提供视频服务,那么您还需要支持 2G。出于演示目的,我们将以 3G 为目标平台。

使用 FFmpeg,您可以通过(出乎意料!)比特率 (-b) 标记设置比特率。

如果您未安装 FFmpeg,请阅读媒体应用基础知识,了解如何使用 Docker 进行设置。

  1. MP4

    /media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.mp4
    
  2. 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

现在,您的文件已准备就绪,可以调整分辨率了。