在上一个容器和编解码器文章中,您学习了如何更改媒体文件的容器(扩展名)和编解码器。在本文中,我们将向您展示如何在解释分辨率之前更改比特率。
比特率和分辨率与媒体文件中的数据量相关。这可能是不言而喻的,但我们还是要说一下。您可以始终降低比特率和分辨率,但增加它们则是一个问题。如果没有特殊的软件和算法,质量将会受到影响。
因此,始终从您可以获得的最高质量的源文件开始您的转换过程。在执行任何操作之前,甚至在更改编解码器或容器之前,请检查文件的显示特性,并验证您的源文件是否具有比您期望的结果更高的比特率或分辨率。
比特率是用于编码媒体流一秒钟的最大比特数。用于编码流一秒钟的比特越多,保真度越高。
不出所料,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 进行设置。
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
现在您的文件已准备就绪,是时候调整其分辨率了。