在七牛上面使用转码功能,我们根据客户的实际场景提供了一些转码的建议。
- mp4
- mp4 容器的兼容性在所有的浏览器,移动设备里面是最好的
- 默认使用H.264视频编码器,acc音频编码器
- webm
- webm是Google推行的一款开放、免费使用的视频文件格式
- 目的是提供高质量的视频压缩以配合HTML 5使用
- 默认使用vp8视频编码器,vorbis音频编码器
- 当前厂商的支持为:Mozilla、Opera、Google
- 使用场景覆盖较多,选择mp4
- 在Mozilla、Opera、Google的设备下选择webm
- aac
- 与mp3相比拥有更高的音质,更小的容量
- 文件拓展名:
.aac
.m4a
- vorbis
- 当容器为webm时选择vobis
- H.264
- 大部分情况选择H.264,可以保持较高的压缩率和兼容性
码率的选择直接决定了转码后视频的品质和大小,在如何保证转码后文件质量的情况下减少文件大小是很重要的,它们的关系为:
1. 码率越大,质量越好,转码后的文件越大
2. 文件大小 = (音频码率+视频码率)*时长
质量和码率的关系是非常复杂的,如果在对于目标的码率要求不大的时候,可以直接使用我们提供的crf
参数,把它设置为18
,我们在不影响视频的观看质量下把文件转码成相对小一点的文件。
但是它的压缩效率有限,不能满足在不同设备不同带宽下地观看需求,接下来我们提供一个不同场景下的比特率。以常见的16:9
比例做例子,其他的情况可以忽略第一列的类型
类型 | 视频比特率 | 音频比特率 | 建议带宽 | 使用场景 | 适合设备 |
---|---|---|---|---|---|
1080p | 8,000kbps | 384kbps | 10Mbps | 用于下载到本地播放或带宽足够时的高清视频 | iPad 2,iPhone 5等 |
720p | 5,000kbps | 384kbps | 5Mbps+ | 高清视频点播 | iPad,iPhone 4等 |
480p | 2,500kbps | 128kbps | 3Mbps | 一个小时大概有1G大小的文件 | iPod touch,iPhone 3GS |
360p | 1,000kbps | 128kbps | 1Mbps+ | 一般的视频,以及最高质量的视频录制教程 | |
240p | 500kbps | 64kbps | 1Mbps- | 对于质量要求不高的电影,或者一般的屏幕录制教程 | |
144p | 200kbps | 64kbps | - | 网络质量比较差,设备分辨率不高的情况 |
PS. 屏幕录制的教程代表了画面静止比较多,以及细节较少的场景。这种类型的压缩率往往是比较高的,所以可以在比较低的比特率下得到较高质量的视频
- 我们默认会在转码的时候把moov atom移到文件头部
- 编解码器对应表:
编码器 | 对应参数 | 类别 |
---|---|---|
H.264 | libx264 | 视频 |
vp8 | libvpx | 视频 |
aac | libfaac | 音频 |
vorbis | libvorbis | 音频 |
mp3 | libmp3lame | 音频 |