视频封装格式

一个完整的视频文件,包括音频、视频和基础元信息,我们常见的视频文件如mp4、mov、flv、avi、rmvb等视频文件,就是一个容器的封装,里面包含了音频和视频两部分,并且都是通过一些特定的编码算法,进行编码压缩过后的。

例如:将一个Xvid视频编码文件和一个MP3音频编码文件按AVI封装标准封装以后,就得到一个AVI后缀的视频文件。

封装,也叫多路复用(mux)。封装的目的一般为了在一个文件(流)中能同时存储视频(video)、音频(audio)、字幕(subtitle)等内容——这也正是“复用”的含义所在(分时复用)。封装还有另一个作用是在网络环境下确保数据的可靠快速传输。

编码的目的是为了压缩媒体数据。有别于通用文件数据的压缩,在图像或音频压缩的时候,可以借助图像特性(如前后关联、相邻图块关联)或声音特性(听觉模型)进行压缩,可以达到比通用压缩技术更高的压缩比。

常用视频封装格式及对应的文件格式:

视频封装格式 视频文件格式
AVI(Audio Video Interleave) AVI
WMV(Windows Media Video) WMV
MPEG分为MPEG-1,MPEG-2,MPEG-4 MPG MPEG VOB DAT 3GP MP4
Matroska MKV
Real Video RM RMVB
QuickTime File Format MOV
Flash Video FLV

音频编码格式

音频编码格式有如下:

  • AAC : Advanced Audio Coding
  • AMR
  • PCM
  • ogg(ogg vorbis音频)
  • AC3(DVD 专用音频编码)
  • DTS(DVD 专用音频编码)
  • APE(monkey’s 音频)
  • AU(sun 格式)
  • WMA
  • MP3

视频编码格式

视频编码标准有两大系统:

  • “国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+、H.264等,
  • “国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。

常见编码格式有:

  • Xvid(MPEG4)

  • H265(High Efficiency Video Coding,简称 HEVC)

  • H264

  • H263

  • MPEG1,MPEG2

  • AC-1

  • RM,RMVB

目前最常见的视频编码方式的大致性能排序基本是:

MPEG-1/-2 < WMV/7/8 < RM/RMVB < Xvid/Divx < AVC/H.264(由低到高,可能不完全准确)。

在H.265出来之前,H264是压缩率最高的视频压缩格式,其优势有:

  • 低码率(Low Bit Rate):和MPEG2和MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。
  • 高质量的图象 :H.264能提供连续、流畅的高质量图象(DVD质量)。
  • 容错能力强 :H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。
  • 网络适应性强 :H.264提供了网络抽象层(Network Abstraction Layer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。

H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1。低码率(Low Bit Rate)对H.264的高的压缩比起到了重要的作用,和MPEG-2和MPEG-4 ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像,正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。 目前这些常见的视频编码格式实际上都属于有损压缩,包括H264和H265,也是有损编码,有损编码才能在质量得以保证的前提下得到更高的压缩率和更小体积。

存储封装格式

目前市面常见的存储封装格式有如下:

  • AVI (.avi)
  • ASF(.asf)
  • WMV (.wmv)
  • QuickTime ( .mov)
  • MPEG (.mpg / .mpeg)
  • MP4 (.mp4)
  • m2ts (.m2ts / .mts )
  • Matroska (.mkv / .mks / .mka )
  • RM ( .rm / .rmvb)
  • TS/PS
  • FLV

为什么把flv叫做流式文件格式? 和mp4,avi不是一样都是音视频的容器吗? 有什么区别?

通常说的流式文件是可以边传边解的,开始不需要整个文件。特点是有文件头信息(这个不是必需的)和中间打包了,可以直接解析分包,而且文件可以任意大小,而不需要通过索引分包。FLV,MPEG,RMVB等都可以直接依次分包解析,而MP4,AVI一定要依赖索引表才行,而且开始就要固定位置好,如果索引表在尾部,还没办法解析。

流媒体文件是指多媒体文件边下载可以边观看的文件。而传统的视频文件需下载完成才能观看,而流媒体主要是下载一部分文件到缓存区,然后再从缓存区里面拿数据~而能作为这种流媒体文件的只有经过特殊编码的格式才适合,而flv、rmvb、mov、asf等格式文件才属于流媒体格式文件

对于相同的音视频内容,使用三种不同的封装格式,则文件体积从大到小依次为: TS -> MP4 -> FLV

FLV和MP4封装格式的文件大小基本相等。

参考:


results matching ""

    No results matching ""