欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【流媒体开发】3、封装格式+音视频同步

程序员文章站 2022-07-01 15:43:15
...

1、封装格式

  • 封装格式:(也叫容器)就是将已经编码压缩好的视频流、音频流及字幕按照一定的方案放到一个文件中,便于播放软件播放。
  • 一般来说,视频文件的后缀名就是它的封装格式
  • 封装的格式不一样,后缀名也就不一样。(比如.mp4(本地存储) .flv(网络传输比较流行)),不同使用场景封装为不同格式
  • 例子:
    【流媒体开发】3、封装格式+音视频同步
    这里的压缩算法:
    • 视频Video:使用了H264/AVC压缩算法
    • 音频Audio:使用了AAC压缩算法
    • 封装则使用MP4封装格式
  • 常见的视频封装格式
    • H264+AAC封装为FLV或MP4是最为流行的模式
AVI、MKV、MPE、MPG、MPEG
MP4、WMV、MOV、3GP
M2V、M1V、M4V、OGM
RM、RMS、RMM、RMVB、IFO
SWF、FLV、F4V、
ASF、PMF、XMB、DIVX、PART
DAT、VOB、M2TS、TS、PS

2、音视频同步

音视频同步概念:

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

音视频同步方式:

  • Audio Master:同步视频到音频
  • Video Master:同步音频到视频
  • External Clock Master:同步音频和视频到外部时钟
  • 一般情况下 Audio Master > External Clock Master > Video Master