一、厘清概念
formats
:视频文件格式(简称:文件格式)
codecs
:视频封装格式(简称:视频格式)
codecs
负责在保证视频清晰度的基础上尽可能的压缩视频,所以 codecs
同时需要对应的编码器和解码器。
而 formats
只是一个承载被压缩的视频的容器而已。他负责把视频、音频绑定起来,并且高级的 formats
会提供如支持内嵌字母,支持分章节等扩展功能
举例:xxx.avi 的
formats
是 avi,codecs
是 H.264。
码率
:视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。码率越高,视频越清晰。
但为了节约视频的体积,在画面变化幅度不大或者色调比较单一的时候,主流的做法是采用 VBR 可变码率
来收录画面。
二、formats
1、常见的 formats
格式 | 公司 | 备注 |
---|---|---|
MP4 | ||
AVI | 微软 | |
WMV | 微软 | |
MOV | 苹果 | QuickTime 影片格式 |
M4V | 苹果 | 基于 MP4 的封装 |
RM / RMVB | realplay | |
FLV | flash | |
WebM |
注:RMVB 比 RM 多了 VB,就是加入了可变码率(VBR)的技术
2、主流视频网站使用的 formats
视频网站 | 格式 |
---|---|
优酷 | MP4 |
腾讯视频 | MP4 |
bilibili | FLV |
Youtube | WebM |
注:html5 中的 照理说不支持 FLV 格式,bilibili 是如何做到的呢,答案就在这个库:https://github.com/Bilibili/flv.js/
三、codecs
下面是制定 codecs 视频压缩技术的几个主流组织:
1、MPEG
MPEG (Moving Picture Experts Group):国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态影像专家组”
MPEG-1(VCD)、MPEG-2(DVD)、和MPEG-4(互联网)
注:没有 MPEG-3
2、ITU
ITU :国际电传视讯联盟( International Telecommunication Union )
3、H.264
MPEG 跟 ITU 合作弄出了 H.26X 系列(H.261 H.262……),其中 H.264
是现在使用最多的。
注:一般会跟 MP4 搭配,称之为 MP4 + H.264
比如我电脑上随机找一个视频文件:
不过,H.264 是一种专利视频格式。它的专利被一家 MPEG-LA 公司控制。
既然有专利,那就有专利到期后续费被恶意抬价的风险,所以诞生了民间的开源的 Theora。
但为什么现在大家都在用 H.264 而不是 Theora 呢?
第一个原因:没有一家实体公司来承担 Theora 的专利责任
第二个原因:一些主要的大公司,本身就是 MPEG-LA "专利池"的所有者,比如苹果公司和微软公司。
第三个原因:H.264 也有免费授权,前提是你使用得是非商业目的。
4、VP8
在最新的一代 H.265
到来之前,搅局者 Google 带着 VP8 出现了,基于 VP8 的 formats 称为 WebM。
VP8 比起前面提到的 Theora 来说,要更加的优秀,而且还有强大的社区作为其后盾,特别是 Google 的支持,所以他率先用在了 Youtube 上。
而且 VP9 也快来到了。
VP8 跟 H.264 比最大的好处应该就是没有专利权问题。
VP8 跟 H.264 比不足的就是,H.264 有众多硬件支持,而 VP8 暂时只能靠软解码,所以谁快谁慢不言而喻。
四、html5支持的视频格式
按热门从上到下排序:
MP4 + H.264
WebM + VP8
Ogg + Theora + Vorbis
五、常用软件操作
1、final cut pro 做好视频后导出为mp4保存
需求:不想默认保存为苹果的 mov 格式怎么办?
2、Aimersoft Video Converter Ultimate —— Mac 下的“格式工厂”
同样是苹果开发的格式转换软件 compressor,竟然不支持转换到 mp4
所以我们用 Aimersoft Video Converter Ultimate
[拓展]
硬解 vs 软解
硬解码是用GPU解码,不会造成过多的CPU负载
软解码是用CPU解码,会导致是CPU占用率很高
推荐看视频打开硬解码,好处如下:
(1)高清视频下硬解码效果会好于软解码
(2)硬解码更省电