TS流结构详解:PAT、PMT与包头解析
4星 · 超过85%的资源 需积分: 9 31 浏览量
更新于2024-09-29
1
收藏 99KB DOC 举报
TS流是一种广泛应用于数字电视和多媒体传输的复用格式,它的全称为Transport Stream。TS流由许多个称为Transport Packet(TS包)的数据包组成,每个TS包包含4字节的包头和184字节的数据部分。这些TS包可以承载不同时间基准的PES(Packetized Elementary Stream)数据,通过复用技术将多个PES流合并成一个TS流,以便高效地传输和解码。
在TS包头中,关键的部分包括:
1. **同步字节**:固定为0x47,用于识别TS包的起始位置,帮助接收端对齐数据流。
2. **传输误码指示符(TEI)**:如果设置为1,表示存在无法纠正的误码;0表示无误码。
3. **有效载荷单元起始指示符(PUSI)**:标记当前TS包是否携带PES流的起始信息。
4. **传输优先级(TP)**:用于区分TS包的优先级,便于处理。
5. **包识别符(PID)**:标识TS包携带的PES流,解码器通过PID来区分不同的服务或频道。
6. **传输加扰控制**:表明数据包内容是否经过加密,包头和自适应区总是未加密。
7. **自适应区控制**:指示自适应区的存在与否及其内容类型。
8. **连续计数器(CC)**:用于检测包丢失和顺序错误,递增的计数器应连续无遗漏。
TS包的自适应区包含了多种信息,如间断指示符、随机存取指示符等,其中特别重要的是PCR(Program Clock Reference)。PCR提供了精确的时间同步信息,用于恢复和同步解码器的27MHz时钟。它通过锁相环(PLL)与解码器的本地时钟对比,确保解码过程与输入数据的时序一致,尤其在数字视频压缩编码中,由于不同图像数据量的变化,直接从压缩数据中提取时钟信息是困难的。
PMT(Program Map Table)和PAT(Program Association Table)是TS流中另外两个关键的表格。PAT用来映射节目(Program)到对应的节目网络接入点(Network PID),而PMT则详细描述了节目的构成,包括音视频流的PID和相关服务信息。
PAT中通常包含一个全局的表项,指示了PMT的位置,而PMT则为每个节目定义了一个表项,列出了节目中的各个组件(如视频、音频和字幕流)的PID。解码器通过解析PAT找到PMT,再通过PMT找到具体的音视频数据,从而实现正确解码和播放。
TS流、PAT和PMT是数字电视和多媒体传输的基础,它们协同工作,确保了多路信号的有效复用、传输和解码,为观众提供了无缝的观看体验。
2021-10-08 上传
134 浏览量
2024-11-25 上传
2024-11-11 上传
2024-11-03 上传
2024-11-03 上传
2024-11-11 上传
2024-11-25 上传
santacluasy
- 粉丝: 0
- 资源: 2
最新资源
- HPUX 11i V3系统管理员指南
- DIV+CSS布局大全
- J2EE 设计开发编程
- Serial ATA 2.6 Specification
- ITIL-white
- 《LINUX与UNIX SHELL编程指南》读书笔记
- 单源最短路径问题的Dijkstra算法
- Oracle 10g R2 Concepts双语版
- 02 第四章 使用SQL语句.pdf
- spring2.5 reference
- API函数大全(32 Bit Section PowerBuilder API)
- 51汇编指令表,一目了然,希望大家多多交流学习
- Serial ATA Specification Rev. 2.5
- 01 第一~三章.pdf
- asp.net速成教程
- Understanding JTA