mpeg2-ts基础

一:基本概念

1.ES–Elementary Streams(原始流)是直接从编码器出来的数据流,ES经过PES打包器之后,转换成PES包。

ES仅是包含一种数据内容的数据流,如h.264视频或者aac音频数据。打包之后的PES也是只包含一种的ES,如只含视频ES的PES或者只含音频ES的PES。每个ES都由若干个存取单元(AU)组成,每个视频AU或者音频AU都由头部和编码数据两部分组成,一个AU相当于编码的一幅视频图像或一个音频帧。

2.PES–Packetized Elementary Streams(分组的ES),ES形成的分组成为PES分组,是用来传递ES的一种数据结构。在PES打包器打包ES的过程中完成了将ES流分组,打包,加入包头信息等操作(是对ES流的第一次打包操作)。PES流的基本单位是PES包。PES包由包头和payload组成。

3.TS–Transport Streams(传输流)由定长的TS包组成(188字节),而TS包是对PES的一种重新封装(到这里,ES经过了两层封装)。PES包的包头信息依然存在于TS包中。

二:基本流程
下图是在MPEG-2系统中编码端实现单一码流的详细过程:

1.A/D转换后,通过MPEG-2压缩编码得到ES基本流。该流数据量很大,并且只是I P B帧的取样信息。

2.通过PES打包器,打包并在每个帧中插入PTS/DTS标识,编程PES。原来是流的格式,现在成了数据包的分割形式。

3.PES根据需要打包成PS或者TS包进行存储

三:TS包的结构

包头定义为:

1.sync_byte8bits同步字节

2.transport_error_indicator1bit错误指示信息

3.payload_unit_start_indicator1bit负载单元开始标志

4.transport_priority1bit传输优先级标志

5.PID13bitpacket ID号码,唯一的号码对应不同的包

6.transport_scrambling_control2bit加密标志

7.adaptation_field_control2bit附加区域控制

8.continuity_counter4bit包递增计数器

PID是TS流中包的唯一标志,Packet Data中是什么内容,完全由PID来决定。

PES相关:

PES是打包过的ES,已经插入PTS和DTS,一般一个PES是一帧图像。

PES经过打包成TS或PS流,往往一个PES会分存到多个TS包中。

1.PES包的包起始码:
包起始码前缀是一个固定的码字结构,它的值是0x000001,用于收发两端对PES包进行同步。
2.PES包的长度:

PES包的长度是可变的,PES包长度域有两个字节,共16比特,因此PES包的最大长度是65535字节
3.PES包头:

PES包头的功能根据特定的应用场合有所不同,包括加扰控制,优先级,ES流速率和CRC等,其中有两个重要的工呢过:PTS和DTS。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值