比特率

Derek Herman
Derek Herman
Joe Medley
Joe Medley

在上一篇容器和编解码器一文中,您学习了如何更改媒体文件的容器(扩展名)和编解码器。在介绍分辨率之前,本文将先介绍如何更改比特率。

比特率和分辨率与媒体文件中的数据量相关。这点毋庸置疑,但我们还是要说明一下。您始终可以降低比特率和分辨率,但提高它们就会成为问题。如果没有专用软件和算法,质量将会受到影响。

因此,请务必使用您能找到的质量最高的源文件来开始转换流程。在执行任何操作之前,即使是在更改编解码器或容器之前,也请检查文件的显示特性,并验证源文件的比特率或分辨率是否高于您期望的结果。

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

不出所料,网络能够处理的不同比特率较低。下表显示了在常见网络条件下,您应以什么码率为目标。为方便比较,我们还添加了蓝光和 DVD 的值。

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

EDGE:0.4 Mb/s
GPRS:0.04 Mb/s

我应该为网页上的视频使用哪个值?简短回答是:至少包括桌面设备、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

现在,文件已准备就绪,接下来需要调整其分辨率