比特率

在上一个容器和编解码器文章中,您学习了如何更改媒体文件的容器(扩展名)和编解码器。在本文中,我们将向您展示如何在解释分辨率之前更改比特率。

比特率和分辨率与媒体文件中的数据量相关。这可能是不言而喻的,但我们还是要说一下。您可以始终降低比特率和分辨率,但增加它们则是一个问题。如果没有特殊的软件和算法,质量将会受到影响。

因此,始终从您可以获得的最高质量的源文件开始您的转换过程。在执行任何操作之前,甚至在更改编解码器或容器之前,请检查文件的显示特性,并验证您的源文件是否具有比您期望的结果更高的比特率或分辨率。

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

不出所料,Web 可以处理的不同比特率很低。下表显示了您应针对常见网络条件设定的比特率。为了便于比较,我们加入了 Blu-ray 和 DVD 的值。

交付方式 比特率
Blu-ray 20Mbs
DVD 6 Mbs
桌面 Web 2 Mbs
4G 移动网络 0.7 Mbs
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

现在您的文件已准备就绪,是时候调整其分辨率了。