视频结构、编码、帧、视频格式与视频传输协议(视频容器)


一、 视频格式(容器)

Flv,mp4,rmvb,mkv,avi从形式上来说首先都是视频文件的扩展名,其次它们也是视频文件的封装格式(即容器)。

问题1:视频容器里面装的是什么?答案如下:

所谓容器,就是把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起的标准。容器使得不同多媒体内容同步播放变得很简单,而容器的另一个作用就是为多媒体内容提供索引,也就是说如果没有容器存在的话一部影片你只能从一开始看到最后,不能拖动进度条(当然这种情况下有的播放器会话比较长的时间临时创建索引),而且如果你不自己去手动另外载入音频就没有声音。

视频格式是视频播放软件为了能够播放视频文件而赋予视频文件的一种识别符号。简言之,视频格式规定了和播放器的通信协议。

二、视频协议(网络视频传输协议)

是针对网络流媒体而言的,也就是只有在有网络时通过浏览器或者移动端APP才能看到的视频,目前常见的协议有RTSP、RTMP、HLS、HTTP等。

 

三、帧

流媒体领域,『流』很重要,『流』的基本元素『帧』同样重要。原因在于:对于视频编码/压缩而言,它的核心是采用尽量小的空间存储一组时间上连续的帧数据;而对于视频解码而言,就是把被编码/压缩后的一组帧数据尽量恢复成原来的样子。能够被100%恢复的编码/压缩算法称为无损压缩,反之称为有损压缩(虽然无损压缩是最理想的,但是在很多实际场景中为了追求高压缩率,比如为了减小网络带宽压力,常常不得不选择有损压缩)。由此可见,『帧』是视频流媒体领域的核心。

『帧』,可以联想成我们平时看到的一幅幅“图像”,只不过我们平时接触的图片是『RGB』格式的,而视频帧通常是『YUV』格式的。

 

四、视频编码方式和封装格式

常见的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等文件其实只能算是一种封装标准(也可看做经过编码后存放视频数据的容器)。
一个完整的视频文件是由音频和视频2部分组成的。H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式。
例如:将一个Xvid视频编码文件和一个MP3视频编码文件按AVI封装标准封装以后,就得到一个AVI后缀的视频文件,这个就是我们常见的AVI视频文件了。
由于很多种视频编码文件、音频编码文件都符合AVI封装要求,则意味着即使是AVI后缀,也可能里面的具体编码格式不同(H264,MPEG-4方式编码)。因此出现在一些设备上,同是AVI后缀文件,一些能正常播放,还有一些就无法播放。
同样的情况也存在于其他容器格式。即使RMVB、WMV等也不例外
事实上,很多封装容器对音频编码和视频编码的组合方式放的很开,如AVI还可以使用H264+AAC组合,可以在具体使用中自己体会。尤其是MKV封装容器,基本无论什么样的组合都可以!但一般MKV用的最多的就是H264+AAC组合,此组合文件体积最小,清晰度最高。因此网上很多MKV视频都是高清晰度的。
因此,视频转换需要设置的本质就是:A设置需要的视频编码、B设置需要的音频编码、C选择需要的容器封装。一个完整的视频转换设置都至少包括了上面3个步骤。
目前最常见的视频编码方式有 MPEG-1/-2 < WMV/7/8 < RM/RMVB < Xvid/Divx < AVC/H.264,视频压缩效能和技术先进性也基本表现为上述排列顺序(由低到高,不完全准确)。
目前最常见的音频格式有 Mp3、AC-3、ACC,MP3最广泛的支持最多,AC-3是杜比公司的技术,ACC是MPEG-4中的音频标准,ACC是目前比较先进和具有优势的技术。

视频编码标准两大系统
视频编码标准有两大系统: MPEG 和ITU-T,如下表:

1、MPEG 标准 由MPEG制定
MPEG-1 | MPEG-2 | (MPEG-3) | MPEG-4 | MPEG-7 | MPEG-21

2、ITU-T 标准 由VCEG制定
H.261 | (H.262) | H.263 | H.263v2 | H.264

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM