应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系
ISO/IEC-13818-1:系统部分; ISO/IEC-13818-2:视频; ISO/IEC-13818-3:音频; ISO/IEC-13818-4:一致性测试; ISO/IEC-13818-5:软件部分; ISO/IEC-13818-6:数字存储媒体命令与控制; ISO/IEC-13818-7:高级音频编码; ISO/IEC-13818-8:系统解码实时接口; MPEG2系统任务包括: 1
规定以包传输数据的协议; 2
规定收发两端数据流同步的协议; 3
提供多个数据流的复用和解复用协议; 4
提供数据流加密的协议
以包形式存储和传送数据流是MPEG2系统之要点
ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称
ES流经过 PES打包器之后,被转换成 PES包
PES包由包头和payload组成,具体格式摘录如下: 可以看到PTS/DTS是打在PES包里面的,这两个parameters是解决视音频同步显示,防止解码器输入缓存上溢或下溢的关键
PTS表示 显示单元出现在系统目标解码器(STD: system target decoder)的时间,DTS表示将存取单元全部字节从STD的ES解码缓存器移走的时刻
每个I、P、B帧的包头都有一个PTS和 DTS,但 PTS与 DTS对 B帧都是一样的,无须标出B帧的DTS
对 I帧和 P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明 PTS和 DTS
上面介绍过,ES首先需打包成 PES流包,然后 PES根据需要打包成 PS或TS包进行存储或传输
其每路 ES只包含一路信源