TS流介绍

TS流(Transport Stream)是DVB领域的基础概念,它将音视频和PSI/SI等信息打包成传输包后进行传输。在一个ts流中可以传输多组节目服务,是节目复用的基础。传输包的大小事固定的,一般为188字节。如果信息数据不足188,则会插入填充字符。

下面的图是传输流的语法结构,传输流就是这样一个个传输包构成的。通过解析可以得到包内数据。

sync_byte:  同步字节,固定为0x47 ,表示后面的是一个TS分组,后面包中的数据不会出现0x47

transport_error_indicator: 传输错误标志位,一般传输错误的话就不会处理这个包了

payload_unit_start_indicator: 1比特标志位。用来指示传输流分组带有PES分组或PSI数据时的情况。

当传输流分组的有效负载带有PES分组数据时,payload_unit_start_indicator=1表示传输流分组的有效负载将以PES分组的第一个字节开始,即有效负载以0x00 00 01串开始;payload_unit_start_indicator=0表示在传输流的开始不是PES分组的开始,即不是0x00 00 01开始。

当传输流分组的有效负载带有PSI数据时,如果传输流分组带有一个PSI部分地第一个字节,payload_unit_start_indicator应该置为1,表明传输流分组的第一个字节带有point_field,即有效载荷的第一个字节,值为0x00。如果传输流分组不带有一个PSI部分的第一个字节,payload_unit_start_indicator值应该置为0,表明有效负载中没有point_field。

空分组的payload_unit_start_indicator置为0。

transport_priority:  传输优先级位,1表示高优先级,传输机制可以根据此位确定一个原始流中数据的优先级。

PID  指示存储于分组有效负载数据的类型,如PID=0x0000表示PAT,0x0001表示CAT等。

transport_scrambling_control: 加密标志位,表示TS分组有效负载的加密模式。TS分组首部(包括调整字段t)不应被加密,00表示未加密。

adaption_field_control:  调整字段控制,表示TS分组首部后面是否跟随有调整字段和有效负载。01仅含有效负载,10仅含调整字段,11含有调整字段和有效负载,00为保留值,解码器应丢弃该字段为00的分组。空分组是此字段值为01。

continuity_counter :  一个4bit的计数器,相同的PIDTS分组传输时每次加1,然后模16。当adaption_field_control为00或10时(即无有效负载),该值不增加。

adaptation_field:  调整字段

data_byte : 数据字节来自PES分组,PSI部分以及一些自定义的私有数据。空分组的PID为0x1FFF,data_byte 可以是任何值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值