1. 对于Ts流的解析网上博客较多,但是核心和难点字段讲的并不深入。本文将讨论Ts解析的几个关键词(或者说不好理解的难点):
- adaption_field_control,
- payload_unit_start_indicator,
- continuity_counter ,
- transport_error_indicatorl,
- pointer_field
对于包的解析我们应该首先明确的是一下几种可能:
- 这里是列表文本 TS包按功能分为链接头,适配域,净荷。
- 链接头的长度固定,4个字节
- 适配域的长度从0字节到184字节可变,可以没有,也可以扩展到整个TS包
- 净荷数据的长度从0字节到184字节可变。
- 整个TS流是由许多长度为188字节的TS包周期性的排列而形成的。
- 链接头包含4个字节的内容,主要负责TS包的同步、各种ES流的表示、TS包传输差错的检测和条件接收等功能。
2.payload_unit_start_indicator 标志PES包头以及包含节目特定信息的表(PMT,PAT)的头是否出现在该包中,在失步后的重 新同步中起着重要的作用。
要说明的是一个Ts包往往是放不下一个PES包的,那就需要截取发送,那么截取出来的包中,肯定有的是含有包头的,但是有的是不含有包头的 这个区分是靠这个字段的。所以在解析的时候,如果他置1,那么他后面的就是一个包头,既然是包头,那就可以进一步的解析。因为包头中含有信息。
3.transport_error_indicator(传输错误指示):‘1’表示在相关的传输包中至少有一个不可纠正的错误位。当被置1后,在错误被纠正之前不能重置为0。
4.Ts解析为ES代码的编写流程。
-
这里

本文深入探讨Ts流解析中的难点,包括payload_unit_start_indicator、transport_error_indicator、continuity_counter和pointer_field等字段的作用,以及Ts包的结构和解析流程。payload_unit_start_indicator用于标识PES包头和节目信息表,transport_error_indicator指示传输错误,continuity_counter进行传输误码检测,pointer_field则在包截取中起关键作用。
最低0.47元/天 解锁文章
945

被折叠的 条评论
为什么被折叠?



