ts文件解析_详解TS协议(2)

本文深入探讨了MPEG-2 Transport Stream(TS)协议,包括TS流与其他流的关系,如ES、PES和PS的差异。重点讲解了TS包的结构,如固定长度的包、关键字段的含义以及TS包的有效性判断。同时,解释了如何解析TS包,获取包长、解析包头,并介绍了Section的概念和组Section的方法。文章适合对TS协议感兴趣的读者进一步学习。
摘要由CSDN通过智能技术生成

0.引言

由于有些朋友说,TS协议很复杂,希望能够再多讲解,所以这次在上篇文章的基础上,对TS协议的基础上,再做些补充。在阅读本文前,也可以先阅读前面的文章。

详解TS协议(包括超强EasyIce工具介绍)

d3a2d2e1e296f3b0bb42fc19ab10ddcf.png
5454e851e1a7773057b438dc0267adb7.png

1.TS流

1.1 TS流与其他流的关系

ES(Elementary Stream):原始码流,不分组的⾳频、视频或其他信息的连续码流。

PES(Packetized Elementary Stream):分组的原始码流,将原始码流ES流根据需要,分成⻓度不等的数据包,并加上包头就形成了打包的基本码流PES流。是⽤来传输ES的⼀种数据结构。

TS(Transport Stream):传输流,是由固定⻓度的包组成,含有独⽴时间基准的⼀个或多个节⽬,适⽤于误码较多的环境,并且从流的任意⼀段开始都可以独⽴解码。在MPEG-2系统中,由视频,⾳频的ES流和辅助数据复接⽣成的⽤于实际传输的标准信息流,称为MPEG-2传送流。

注意:TS流是原始的PES流(⾳视频等)中按照⼀定的频率插⼊PSI/SI⼀些标识符(辅助数据)信息,然后按固定⻓度打包形成的传输流。PSI/SI信息在TS流中并不是只发送⼀次,⽽是按照⼀定的频率插⼊码流,是重复发送的。

PS(Program Stream):节⽬流,PS流与TS流的区别在于,PS流的包结构是可变⻓度,⽽TS流的包结构是固定⻓度。

1.2 TS包

TS包的⻓度:固定为188 Bytes或204 Bytes,204 Bytes⻓度是在188Bytes后⾯增加了16 BytesCRC校验数据。结构如下图所示:

05620d2057293eafb456d9b1d7f3d6ad.png

TS包主要由ES包和section-table组成,其中ES包主要包括音频、视频、字幕等。section-table表主要包括PAT和PMT等组成。

TS包中所包含的字段如下图所示:

Sync byte是固定数值,一直都是0x47开头。相当于一个标识。下一个包的标识也是0x47。

transport_error_Indicator: 1bit,当其为1时,表示该TS包中⾄少有⼀个不可纠正的错误位,只有在错误纠正之后,该位才能重新置0。实际获取TS包之后,该位为1的包丢弃

payload_unit_start_indicator:1bit,对于PSI数据包,该位为1时,表示该TS包是

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值