在之前的容器和编解码器一文中,您学习了如何更改媒体文件的容器(扩展名)和编解码器。在本文中,我们将先介绍如何更改比特率,然后再介绍分辨率。
比特率和分辨率与媒体文件中的数据量相关。这可能不言而喻,但我们还是要说。您始终可以降低比特率和分辨率,但提高它们会成为问题。如果没有特殊的软件和算法,质量就会大打折扣
因此,在开始转换流程时,一定要使用您手头能够实现的最优质的源文件。在执行任何操作之前(即使是在更改编解码器或容器之前),请检查文件的显示特性,并验证源文件的比特率或分辨率是否高于您期望的结果。
比特率是用于对 1 秒的媒体流进行编码时使用的最大位数。用于对一秒串流进行编码的位数越多,保真度就越高。
网页可处理的不同比特率都很低,这不足为奇。下表显示了常见网络条件下的比特率。为了便于比较,我们添加了蓝光和 DVD 的值。
投放方式 | 比特率 |
---|---|
蓝光 | 20 MB |
DVD | 6 MB |
桌面版网站 | 2 MB |
4G 移动网络 | 0.7 MB |
3G 移动网络 | 0.35 MB |
2G 移动网络 | 取决于网络类型。 EDGE:0.4 Mbs GPRS:0.04Mbs |
我应该为我网页上的视频使用哪个值?简而言之,至少为:桌面设备、4G 和 3G。如果您在一个称为“下一批十亿用户”的市场(例如印度)提供视频服务,那么您还需要加入 2G。出于演示目的,我们将以 3G 网络为目标。
使用 FFmpeg,您可以通过 (surprise!) 比特率 (-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
现在您的文件已准备就绪,可以调整文件分辨率了。