媒体文件的几个概念
1 文件/容器
称为容器(Container),完全可以理解为生活中的一个容器,比如一个碗啊,盆啊,桶啊,就是能装东西的玩意。因为媒体中容器的概念也是这个意思,不同是这个容器装的内容是数据,比方视频数据,音频数据,字幕数据等。
容器的类型决定了数据被存放在文件中的位置。比方有些容器装数据是音视频交叉存放,有些容器是一块音频数据,然后一块是视频。
2 文件格式
这里仅指媒体文件格式,也称为容器类型,就是如何组织媒体数据的格式。常见的媒体文件格式有如下几种。
文件格式 | 说明 |
3GP | 3GP是一种3G流媒体的视频编码格式,使用户能够发送大量的数据到移动电话网络。3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求,让手机上有限的储存空间可以使用。 3GP格式视频采用 MPEG-4 及 H.263、H.264编码,而声音则采用AAC或AMR(WB/NB)标准。 |
FLV | FLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。 一个tag一个tag的存储数据。 |
MP4 | MPEG-4,即MPEG第4部分。 |
TS | 全称为MPEG2-TS。TS即"Transport Stream"的缩写。它是分包发送的,每一个包长为188字节。包的结构为,包头为4个字节,负载为184个字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS主要应用于实时传送的节目,比如实时广播的电视节目。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。简单地说,将DVD上的VOB文件的前面一截cut掉(或者是数据损坏数据)就会导致整个文件无法解码,而电视节目是任何时候打开电视机都能解码(收看)的。 |
MPEG | MPEG的全名为Moving Pictures Experts Group/Motion Pictures Experts Group,中文译名是动态图像专家组。 MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。 MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。这几种技术的综合运用,大大增强了压缩性能。 |
WMV | WMV是微软推出的一种流媒体格式, WMV格式的体积非常小,因此很适合在网上播放和传输。 WMV(Widows Media Video)文件一般同时包含视频和音频部分。视频部分使用Windows Media Video编码,音频部分使用Windows Media Audio编码。 |
MPG | 同MPEG。 |
DASH | Dynamic Adaptive Streaming of HTTP的缩写。 更详细的还没有查到资料。 |
HLS | HTTP Live Streaming Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。 常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议。 |
3 流/流媒体
流的概念比较广,这里特指流媒体,也称为流式媒体。
流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。流的概念是基于网络传输的,只有媒体文件通过网络传输才有流的概念。在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需要经过几秒钟或几十秒的启动延时即可在用户计算机上利用相应的播放器对压缩的视频或音频等流式媒体文件进行播放,剩余的部分将继续进行下载,直至播放完毕。
一个容器中包含一组流,一个容器通常有的是一个音频流和一个视频流。
(1)RSVP:资源预留协议
(2)RTP:实时传输协议
(3)RTCP:实时传输控制协议
(4)MMS:微软流媒体服务协议
(5)RTSP:实时流传输协议
(6)MIME:多目因特网电子邮件扩展协议
(7)RTMP(RTMPE/RTMPS/RTMPT):Adobe实时消息协议簇
(8)RTMFP:Adobe实施消息流协议(P2P协议)
详细见以下链接: http://baike.baidu.com/link?url=gKrFE03fP16AWYNdccfP5F8c9AHIEiovYxTL-89os0jkGNBY5RXisieKA_2CHqlm
4 编解码
每个流是由不同的编码器来编码生成的。编解码器描述了实际的数据是如何被编码Coded 和解码Decoded的,因此它的名字叫做CODEC。
音频编解码格式 | 说明 |
AAC | AAC(Advanced Audio Coding),中文名:高级音频编码,基于MPEG-2的音频编码技术。 优点:相对于mp3,AAC格式的音质更佳,文件更小。 不足:AAC属于有损压缩的格式 |
MPEG1 layer2 | (windows media audio 9.2/windows media audio v8) |
WMA2 | WMA的全称是Windows Media Audio,是微软力推的一种音频格式。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18,生成的文件大小只有相应MP3文件的一半。 2表示第2个版本。 |
AC3 | AC3(全称Audio Coding3音频编码3)是杜比数码的同义词,杜比数码是一种高级音频压缩技术,它最多可以对6个比特率最高为448kbps的单独声道进行编码。 杜比AC-3提供的环绕声系统由5个全频域声道和1个超低音声道组成,被称为5.1声道。5个声道包括左前、中央、右前、左后、右后。低音声道主要提供一些额外的低音信息,使一些场景,如爆炸、撞击等声音效果更好。6个声道的信息在制作和还原过程中全部数字化,信息损失很少,全频段的细节十分丰富。 |
AMR-NB | AMR(Adaptive Multi-Rate) 自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。 AMR-NB,相对于下面的WB而言,语音带宽范围:300-3400Hz,8KHz抽样 |
AMR-WB | AMR-WB全称为“Adaptive Multi-rate - Wideband”,即“自适应多速率宽带编码”,采样频率为16kHz,是一种同时被国际标准化组织ITU-T和3GPP采用的宽带语音编码标准。AMR-WB提供语音带宽范围达到50~7000Hz,用户可主观感受到话音比以前更加自然、舒适和易于分辨。 |
MP3 | MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。它被设计用来大幅度地降低音频数据量。利用 MPEG Audio Layer 3 的技术,将音乐以1:10 甚至 1:12 的压缩率,压缩成容量较小的文件,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。 |
其他 | 请参考http://baike.baidu.com/view/178954.htm#3_13 |
视频编解码格式 | 说明 |
H.263 | H.263最初设计为基于公共交换电话网和其它基于电路交换的网络进行视频会议和视频电话。 |
H.264 | H.264,同时也是MPEG-4第十部分,H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。 |
H.265 | H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。H.265保留原来的某些技术,同时对一些相关的技术加以改进。提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H265可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。 |
Spark | Spark 是h263的一种。 |
VP6 | On2 Technologies,是美国一家视讯压缩科技公司,前身是The Duck Corporation,以开发 TrueMotion S、TrueMotion 2、VP3、VP4、VP5、TrueMotion VP6, TrueMotion VP7 以及VP8等产品闻名 |
MPEG2 | 请见音频部分的介绍。 |
MPEG4 | 请见音频部分的介绍。 |
WMV3 | WMV第3个版本 |
其他 | 请参考http://baike.baidu.com/view/16215.htm |
5 包
也叫原数据,Raw data,从流中被读出来的叫做包Packets。包是包含了一段可以被解码成方便我们最后在应用程序中操作的原始帧的数据。
6 码率
比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送的数据越大。声音中的比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。 视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号的采样率。
码率和质量成正比,但是文件体积也和码率成正比。
7 帧率
帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)或“赫兹”(Hz)。此词多用于影视制作和电子游戏。
电影:23.976fps
电视(PAL):25fps
电视(NTSC):29.97fps
CRT显示器:60Hz-85Hz
液晶显示器:60Hz-75Hz
3D显示器: 120Hz
当画面的分辨率是1024×768时,画面的刷新率要达到24帧/秒,那么显卡在一秒钟内需要处理的像素量就达到了“1024×768×24=18874368”。
如果要求画面的刷新率达到50帧/秒,则数据量一下子提升到了“1024×768×50=39321600”。
8 分辨率
显示分辨率,是指单位长度内包含的像素点的数量,它的单位通常为像素/英寸(ppi)。以分辨率为1024×768的屏幕来说,(即每一条水平线上包含有1024个像素点,共有768条线),即扫描列数为1024列,行数为768行。
9 PTS
Presentation Time Stamp,用于视频的同步和输出,在display的时候使用,度量解码后的视频帧什么时间被显示出来。
10 DTS
Decode Time Stamp,用于视频的解码,在解码阶段使用,标注读入内存的bit流什么时候开始送入解码器进行解码。
音频流中DTS和PTS相等,视频流中在没有B帧的情况下二者输出顺序保持一致,但PTS的值不能比DTS值小。
11 帧类型
I帧:全帧压缩编码帧,自身可以通过视频解压算法解压成一张单独的完整的图片。
P帧:前面预测编码帧,需要参考其前面一个I帧或P帧来生成一张完整的图片。
B帧:双向预测预插编码帧,需要参考其前面一个I帧或P帧及其后的一个P帧来生成一张完整的图片。
两个I帧之间形成一个GOP(Group Of Pictures),意思是画面组,一个GOP就是一组连续的画面,MPEG编码将画面(即帧)分为I、P、B三种,简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码。
12 duration
文件播放时长,是PTS的总和。
13 profile level
标识H.264的多种编码级别,每种级别由于复杂度不同而导致占用CPU的编解码消耗而不同。AVC/H.264有四种不同的Profile:- Baseline Profile 提供I/P帧,仅支持progressive(逐行扫描)和CAVLC ;- Extended Profile 提供I/P/B/SP/SI帧,仅支持progressive(逐行扫描)和CAVLC ;- Main Profile 提供I/P/B帧,支持progressive(逐行扫描)和interlaced(隔行扫描),提供CAVLC或CABAC ;- High Profile(也就是FRExt)在Main Profile基础上新增:8x8 intra prediction(8x8 帧内预测), customquant(自定义量化), lossless video coding(无损视频编码), 更多的yuv格式(4:4:4...)。
帧内预测), customquant(自定义量化), lossless video coding(无损视频编码), 更多的yuv格式(4:4:4...)。
作者 |张维
转载请注明出处:华为云博客 https://portal.hwclouds.com/blogs
- 点赞
- 收藏
- 关注作者
评论(0)