目录一、TS 是什么二、TS 的分层与包结构1. TS 包188 字节定长2. PSITS 流的“导航地图”3. 时钟同步机制三、TS 的核心特点1. 固定小包强抗误码2. 任意位置可解码3. 原生多节目复用4. CBR 友好5. 直播分片天然适配缺点同样明显四、TS vs 常见封装格式重点对比TS vs MP4ISO BMFFTS vs fMP4 / CMAFTS vs MKVMatroskaTS vs FLVTS vs PSProgram Stream五、典型应用场景六、总结觉得有用就请您帮忙点赞转发收藏吧您的鼓励是我创作的动力多谢看官。由于能力水平有限文中的错误或不严谨的地方在所难免还请批评指正。传送流Transport StreamTS流是由MPEG组织发布的MPEG-2标准定义的数据流格式遵循ITU-T H.222.0及ISO/IEC 13818系列协议 。该格式包含同步字节、数据包识别号PID及负载内容其传输包长度固定为188字节 。TS流最早应用于DVD的实时传送节目 作为IPTV关键技术适用于可能发生严重错误的环境下传输单路或多路节目编码数据 。传送流支持多节目复用传输 。其复用技术涉及ES流、PES流与TS流的转换需处理音视频同步及PCR参数修正问题 。编码器实现需提取时间参数PCR,PTS,DTS并通过视频压缩芯片与音频编码方案完成原始流复用 。传输层面支持TS/UDP和TS/RTP/UDP协议采用SBPCR流控算法与RTP自适应算法结合方案 。在IPTV系统中TS流封装后使用IP网络传输且TS流之上一般采用RTP机制进行传输。随着数字电视发展MPEG-2 TS流监控系统用于数字电视信号监控 。此外TS流已被现代操作系统作为标准媒体类型支持 。一、TS 是什么TS 全称MPEG-TSMPEG Transport Stream传输流定义在ISO/IEC 13818-1MPEG-2 Systems后缀通常是.ts蓝光变种叫.m2ts/.mts。它和 MP4 根本不是一类东西MP4 是为存储设计的容器box 结构、有全局索引 moovTS 是为传输设计的容器固定小包、可任意位置切入、抗丢包一句话定位TS 用「固定 188 字节小包 PID 路由 PSI 导航表」把音视频塞进一条可以边传边丢边恢复的流里。二、TS 的分层与包结构TS 的封装链路是ES编码裸流 H264/AAC ↓ 加 PTS/DTS PES包化基本流 ↓ 按 184 字节切块 加 4 字节头 TS 包固定 188 字节 ↓ 多路 PID 交织复用 Transport Stream1. TS 包188 字节定长区域大小作用Sync Byte1B0x47扫描它就能重新同步流TS Header3BPID、错误标志、起始标志、CC 计数等Adaptation Field可选PCR 时钟、填充字节、随机接入点Payload剩余PES 分片 或 PSI 表数据Header 里最关键的字段PID13 bit相当于“物流单号”。视频、音频、字幕、PAT、PMT 各占一个 PID0x0000PAT总目录0x0001CAT加密0x1FFFNull 包填比特率用continuity_counter4 bit同 PID 包 0~15 循环跳变 丢包payload_unit_start_indicator标记 PES 包开头adaptation_field_control本包是纯负载 / 纯适配域 / 两者都有DVB 场景还有 204 字节变种188 16 字节 RS 纠错。2. PSITS 流的“导航地图”光有 PID 不够播放器得知道“PID 256 是视频还是音频”靠两张表PATProgram Association TablePID 固定0x0000告诉你说Program 1 → PMT 在 PID 0x100Program 2 → PMT 在 PID 0x101PMTProgram Map Table每个节目一张列出该节目下视频 PID、音频 PID、字幕 PID以及 stream_type如 0x1BH2640x0FAAC解析顺序永远是扫 0x47 → 找 PID 0 → 读 PAT → 拿 PMT PID → 读 PMT → 按 PID 抽音视频。3. 时钟同步机制PCRProgram Clock Reference27MHz 基准放在适配域解码器用来锁时钟PTS/DTS90kHz 基准放在 PES 头控制音画同步和解码顺序这就是为什么 TS 在广播里“换台瞬间就有声画”而不用等全局索引。三、TS 的核心特点1. 固定小包强抗误码188 字节一包错一个包只毁一包接收端扫0x47能随时重新同步。卫星、地面波、有线那种误码率高的信道它是天选之子。2. 任意位置可解码不需要头索引从流中间切进去直播换台、HLS 切 ts 分片都能靠 PAT/PMT 重建播放。3. 原生多节目复用一路 TS 里可以塞几十个“节目”电视台频道各自 PID 隔离机顶盒按 PID 过滤就行。4. CBR 友好靠 Null 包0x1FFF填零维持恒定码率符合 DVB/ATSC 广播规范。5. 直播分片天然适配HLS 早期标准就是.m3u8 一串 .ts每个 ts 分片自带 PAT/PMT可独立播放。缺点同样明显无全局索引Seek 慢本地播放不如 MP4无章节/标签/现代字幕WebVTT/ASS 支持弱只能 DVB subtitle / teletext有冗余Null 包 表重复发送体积比 MP4 大 10%~15%Codec 范围窄主要是 H264/H265/AAC/AC3/MPEG2不像 MKV 啥都塞四、TS vs 常见封装格式重点对比TS vs MP4ISO BMFF维度MPEG-TSMP4结构188B 定长包box/atommoovmdat索引无全局索引moov 集中索引随机访问任意字节切入必须先有 moov容错丢包可恢复moov 坏全废Seek扫 PCR慢秒跳场景广播/IPTV/HLS 传统直播点播/下载/本地拼接cat a.ts b.ts同 PID 可直接连必须处理 moov结论直播传输选 TS存储分发选 MP4。TS vs fMP4 / CMAF现代 HLSDASH 双栈基本转向fMP4分片 MP4 / CMAF分片内部有 moof/mdat仍支持随机接入开销比 TS 小支持 Low-Latency HLS / LL-DASH一套段同时喂 HLS 和 DASHTS 在苹果生态和老 IPTV 里还没退场但新项目直播首选 fMP4。TS vs MKVMatroskaMKV为“归档和播放”而生支持几乎任意 codec、章节、多字幕、附件TS为“传输”而生灵活度低但信道鲁棒性强本地收藏转 MKV直播推流用 TSTS vs FLVFLV曾经 RTMP 直播标配变长 tag结构比 TS 简单但容错弱、不支持多节目、H265/OPUS 支持靠私增 tagTS广播级 PSI/PID/PCR 体系完整FLV 更像“简化版传输容器”现在 RTMP 衰落FLV 也主要在旧直播链路里吃灰TS vs PSProgram StreamPSDVD 的 VOB 之类变长包适合误码少的存储TS定长包适合误码多的传输两者同属 MPEG-2 Systems双子星五、典型应用场景广电数字电视DVB / ATSC / ISDB 的底层容器IPTV 组播UDP/RTP 承载 MPEG-TS苹果 HLS 传统分片.ts.m3u8蓝光 BDMV / AVCHD 摄像机M2TS 变种直播转码中间格式FFmpeg 经常mpegts做管道传输监控/卫星接收落盘不适合的场景本地电影收藏用 MKV/MP4、短视频点播MP4、现代低延迟直播fMP4/CMAF、需要软字幕和标签的媒体库。六、总结TS 不是“视频格式”是面向丢包信道的传输容器理解 TS 只需要记住三件事188 字节定长包、PID 寻址、PAT/PMT 导航它用冗余和固定结构换传输可靠性MP4/MKV 用索引和变长换存储效率现在做直播老链路 TS 还在跑新链路 fMP4 上位做本地别用 TS