目录

音视频基础封装格式

音视频基础——封装格式

封装格式

概念

封装格式(也叫容器)就是将已经编码压缩好的视频流、音频流及字幕按照一定的方案放到一个文件中,便于播放软件播放。一般来说,视频文件的后缀名就是它的封装格式。

封装的格式不一样,后缀名也就不一样。

https://i-blog.csdnimg.cn/blog_migrate/b4fe1ff49e7979aa464cf37628161c91.png

这里视频Video:使用了H264/AVC压缩算法,音频Audio:使用了AAC压缩算法,封装则使用MP4封装格式。

常见的封装格式

AVI、MKV、MPE、MPG、MPEGMP4、WMV、MOV、3GPM2V、M1V、M4V、OGMRM、RMS、RMM、RMVB、IFOSWF、FLV、F4V、ASF、PMF、XMB、DIVX、PARTDAT、VOB、M2TS、TS、PS

H264+AAC封装为FLV或MP4是最为流行的模式

音视频同步概念

主要包括:DTS(Decoding Time Stamp)、PTS(Presentation Time Stamp)

DTS(Decoding Time Stamp):即解码时间戳,这个时间戳的意义在于告诉播放器该在什么时候解码这一帧的数据。

PTS(Presentation Time Stamp):即显示时间戳,这个时间戳用来告诉播放器该在什么时候显示这一帧的数据。

在没有b帧的视频中,pts、dts是一致的,但是有b帧的情况的,就不同了,如下:

假如视频帧为:I B B P

Stream: I P B B

Stream: I P B B

DTS: 1 2 3 4

PTS: 1 4 2 3

音视频同步方式

Audio Master:同步视频到音频

Video Master:同步音频到视频

External Clock Master:同步音频和视频到外部时钟。

一般情况下 Audio Master > External Clock Master > Video Master