封装格式
mp4、flv、rmvb、avi等称为封装格式。
- 所谓封装格式,就是将已经编码压缩好的视频轨和音频轨按照一定的格式封装到一个文件中
- 封装格式内部包含视频轨(H264、H265编码器编码之后的后缀是h264、h265的视频编码文件)、音频轨(后缀是.aac .mp3的音频编码文件)、字幕轨以及视频宽高等编解码信息。
- 比如视频文件中:
- 可以通过FFmpeg命令把视频文件进行拆分,把一个mp4封装格式的视频文件可以抽取其中的h264视频流文件,也可以抽取其中的aac音频流文件。
- 视频编码文件、音频编码文件、编解码信息包括视频宽高等共同组成了封装视频文件。
- 一般情况下,不同的封装格式对应不同文件后缀:
视频文件格式 | 视频封装格式 |
---|---|
.avi | AVI(Audio Video Interleaved) |
.mp4 .3gp .mpeg .mpg | MPEG(Moving Picture Experts Group) |
.flv | Flash Video |
.rm .rmvb | Real Video |
.wmv .asf | WMV(Windows Media Video) |
.mkv | Matroska |
.mov | QuickTime File Format |
- 播放器播放视频文件时,会先根据其封装格式进行解封装,获取到其中的视频数据和音频数据,然后进行解码播放。
注意:
- 虽然封装格式不同,但最终其中的音频和视频数据还是原来的编码数据
- 手动修改文件后缀并不会影响其封装格式
音视频编码方式
既然视频文件是由视频轨和音频轨通过封装格式组成的,那么视频轨和音频轨数据又是怎么来的呢?
- 不能将摄像头等方式采集到的数据直接保存为视频数据,因为那将是灾难性的,会造成视频数据太过庞大,可能一个几秒钟的视频就上百M,因此必须对采集到的数据进行编码,音频也是如此。
- 以超高清(Ultra-High-Definition, UHD)视频为例,分辨率为3840×2160像素,帧率为60(即每秒有60幅图像),那么未经压缩的1秒视频的数据量超过119.4亿比特(3840×2160像素/图像×24bits/像素×60图像/秒)。这么巨大的数据量,不经过压缩直接传输和存储视频信号几乎是无法实现的。而经过压缩之后,在基本不影响视觉感受的前提下,视频信号的数据量可以缩小为原始数据量的几十分之一甚至几百分之一。由此出现了所谓的音视频编码技术
视频编码方式
所谓视频编码,就是通过摄像头、录屏等方式采集的像素数据(RGB、YUV等)压缩成视频码流,从而降低视频的数据量。知名的视频编码方式主要有以下几种:
编解码方式 | 发表公司 | 发表时间 |
---|---|---|
H.264(AVC) | MPEG/ITU-T | 2003 |
H.265(HEVC) | MPEG/ITU-T | 2013 |
VP8 | 2008 | |
VP9 | 2013 | |
VC-1 | 微软 | 2006 |
AVS | 中国 | 2002 |
视频编码技术为什么要标准化呢?
上面的H.264(AVC) 、H.265(HEVC) …是不同的视频编码标准。那么视频编码技术为什么要标准化呢?
- 主要目的是可以达到不同公司不同产品之间的互联互通。比如由某一厂家编码器得到的视频码流可以被其它不同的厂家生产的解码器播放。
- 视频编码标准作为各个厂家所必须遵循的规范,蕴含着难以估量的商业价值。
- 新一代视频编码标准的发布往往会推动新的视频应用的产生和普及。比如:
- H.262/MPEG-2 标准推动了模拟电视到数字电视的变革;
- H.264/AVC 使得高清视频和互联网视频得以广泛推广;
- H.265/HEVC 成功推动了 4K 超高清视频的普及;
- H.266/VVC 对8K超高清、屏幕、高动态和360度全景视频等新的视频类型,以及自适应带宽和分辨率的流媒体和实时通信等应用有了更好的支持。
编码器发展史
音视频的发展主要由下面两个组织推动的。
- MPEG:
- 即国际标准化组织及国际电工委员会 ISO/IEC 旗下的动态图像专家组(Moving Picture Experts Group)
- 也叫做ISO,这个组织是专门做各种标准规范的。
- VCEG:
- 即国际电联电信标准化部门 ITU-T 旗下的视频编码专家组 (Video Coding Experts Group)。
- 也叫做ITU-T,这个组织是专门做音视频的组织
MPEG 和 VCEG 先是分别独自制定自己的标准,然后合在一起做,然后又分开,然后又合作,如此往复。
- VCEG 分别在1990年和1995年独自制定了 H.261 和 H.263 标准的第一版;
- MPEG 分别在1993年、1999年和2020年独自制定了 MPEG-1、MPEG-4 Visual 和 MPEG-5/EVC 标准的第一版;
- H.262/MPEG-2,H.264/AVC,H.265/HEVC 和 H.266/VVC 则都是二者合作一起制定的,第一版完成年份是1994、2003、2013和2020。
后来: - Google后来推出了VP8、VP9的编解码器,VP8,VP9分别和H264、H265做对应竞争。
- Microsoft推出了VC-1。
- 国产自主标准:AVS/AVS+/AVS2,只是仅仅用于机顶盒,广播电视,其他领域并没有用到。但是现在的广播电视也已经废弃了AVS标准了用了其他更优良的标准。
编码
音视频编码鼻祖H261
H261在音视频领域的地位相当于冯诺依曼计算机模型对计算机领域的影响
- 场景:视频会议、可视电话、等地码率、视频传输
- 主要技术:
- 帧内编码:第一次根据帧内的像素趋于统一而采用帧内预测编码技术
- 帧间编码(运动补偿):使用以宏块为基础的运动补偿预测编码技术,从当前宏块参考帧中产生最佳匹配宏块
- 环路滤波器:实际上是一个数字低筒滤波器,滤除不必要的高频信息
- 块结构的混合编码:第一种采用“块结构的混合编码”方案的编码标准
H264
H264以高压缩高质量和支持多种网络的流媒体传输著称。
- 定义: 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余,需要用算法来取出这些冗余。H264是专门去除这些冗余的算法,我们把这种算法称为H264编码。
- 应用 :大多数看到的视频,如rmvb, avi, mp4, flv 大豆是由H264进行编码,当然也会有不同的其他编码器,如mpeg4, vp9等这些比较冷门的编码器进行编码。
无论是H264、mpeg4、vp9 ,都是基于宏块的方式进行编码,原理都是一样的,只不过实现的算法不一致罢了。
H265
- 随着社会的进步,技术的发展,生活中使用的显示器,越来越大,视频画面也变大,广泛的出现了4K、8K视频,这对于H264来说已经存在明显不足了,于是就出现了H265
- H265编解码技术在ITU-T组织中称为H265,在ISO组织中称为HEVC。
- H265在H264的基础上研发的,可以达到更高压缩的同时实现画面更清晰。
- H264可以实现把4M的数组压缩到80k-90k,同样的画质和同样的码率,H.265比H2.64 占用的存储空间要少理论50%;
- 总结来说,在增加视频压缩率的同时,视频画面质量反而增加了,更高清了。
音频编码方式
同视频编码类似,音频编码是将通过麦克风等方式采集到的采样数据(PCM等)压缩成音频码流,降低音频的数据量,常用的音频编码方式有以下几种:
名称 | 发表公司 | 发表时间 | 常用领域 |
---|---|---|---|
AAC | MPEG | 1997 | 各领域 |
MP3 | MPEG | 1993 | 各领域 |
WMV | 微软 | 1999 | 微软平台 |
AC-3 | Dolby Inc. | 1992 | 电影 |