TS流结构详解:PAT、PMT与包头解析
4星 · 超过85%的资源 需积分: 9 10 浏览量
更新于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-03 上传
2024-11-03 上传
2011-05-04 上传
2015-08-24 上传
2011-08-23 上传
点击了解资源详情
santacluasy
- 粉丝: 0
- 资源: 2
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查