MPEG2-TS

from : https://zh.wikipedia.org/wiki/MPEG2-TS


本页使用了标题或全文手工转换

MPEG2-TS

维基百科,自由的百科全书
跳转至: 导航搜索

MPEG2-TS(Transport Stream“传输”;又称 MTS、TS)是一种传输和存储包含音效、视频与通信协议各种数据的标准格式,用于数字电视广播系统,如 DVBATSCIPTV 等等。

MPEG2-TS 定义于 MPEG-2 第一部分,系统(即原来之 ISO/IEC 标准 13818-1 或 ITU-T Rec. H.222.0)。

Media Player ClassicVLC多媒体播放器 等软件可以直接播放 MPEG-TS 文件。

TS的解码方式是从PID为0 的TS packet内,解析出PAT table,然后 PAT table 找到各个program 源的PID。解码器根据PMT talbe 的ES streaming 的PID,将TS流上的packet 进行区分,并按不同的ES流进行解码。

多重 MPEG 节目会结合 天线.

套接层[编辑]

传输流类似OSI network 协议堆栈

  1. 各种不同节目(programs)的组成
  2. Packetized Elementary Stream (PES)
  3. Elementary stream (ES) — audio or video (the below is for video only)
  4. 图像组群 (GOP) — providing random access points
  5. Slice — preventing an error from being propagated through intra prediction
  6. Macroblock—包含了 6 到 12 DCT blocks
  7. Encoding block or just block—a DCT encoding block, 8x8 pixels

重要元素[编辑]

Packet[编辑]

packet 是传输流(transport stream)内数据的最基本单位,包含了一个同步字节(sync byte)值为 0x47,接着是13比特的 Packet Identifier (PID). Packets 有 188 bytes 的长度[1]。但是后面有可能会追加一些验证字节,所以packets的长度有可能变为192、204或者208Byte的长度。

部分传输流数据包格式
名称比特描述
同步字节(sync byte)80x47
Transport Error Indicator (TEI)1如果这个流中包含了一个无法修复的错误,由解调器设置,以告诉多路解调器,该包存在一个无法纠正的错误[2]
Payload Unit Start Indicator11 表示是 PES 数据或 PSI数据的开始部分,否则为零.
Transport Priority11 意思是在相同 PID 的数据包中含有更高的优先权.
PID13包的ID号
Scrambling control2'00' = Not scrambled.   The following per DVB spec:[3]   '01' = Reserved for future use,   '10' = Scrambled with even key,   '11' = Scrambled with odd key
Adaptation field exist201 = 无配适栏, 仅 payload

10 = 仅有 adaptation field
11 = adaptation field 和 payload 皆俱

Continuity counter4 
  注:以上总共为32位,被称为传输流的4个字节前缀
Adaptation field0 或更多依旗标而定
Payload Data0 或更多依旗标而定
配适栏格式
名称比特数描述
Adaptation Field Length8Number of bytes in the adaptation field immediately following this byte
Discontinuity indicator1Set to 1 if current TS packet is in a discontinuity state with respect to either the continuity counter or the program clock reference
Random Access indicator1Set to 1 if the PES packet in this TS packet starts a video/audio sequence
Elementary stream priority indicator11 = 更高优先权
PCR flag11 意思是配适栏含有一 PCR field
OPCR flag11 意思是配适栏含有一 OPCR field
Splicing point flag11 means presence of splice countdown field in adaptation field
Transport private data flag11 means presence of private data bytes in adaptation field
Adaptation field extension flag11 means presence of adaptation field extension
Below fields are optionalvariable依旗标而定
PCR33+6+9节目时钟引用
OPCR33+6+9Original Program clock reference. Helps when one TS is copied into another
Splice countdown8Indicates how many TS packets from this one a splicing point occurs (may be negative)
stuffing bytesvariable 

PID[编辑]

传输流(transport stream)的表(table)或是基础流(elementary stream)会定义13-bit packet ID (PID).

Programs[编辑]

Transport stream 有 programs的观念. single program 被 Program Map Table (PMT) 所描述, 有单一的 PID。elementary streams 则通过 PMT的PID列表来尝试与Program沟通.

PSI[编辑]

PSI 全名是 Program Specific Information,意为program专用信息。PSI 的PID 是特定的。目前PSI 制定有4 种PSI 表: Program Association Table (PAT), Program Map Table (PMT), Conditional Access Table (CAT), 以及 Network Information Table (NIT). 这四张表分别描述了一个TS所包括的所有ES流的传输结构。

PAT[编辑]

PAT 是指 Program Association Table. 因为PID 由PAT 指定,所以要先解出PAT,再解PMT。

PMT[编辑]

Program Map Tables (PMTs) 包含了 programs的信息。

CAT[编辑]

CAT用于Program 的加密与解密。CAT所在分组的PID=1。

NIT[编辑]

NIT提供传输流(transfer streaming)的相关信息,如频率、调制方式。

PCR[编辑]

Program Clock Reference是指时间参考,至少约100 ms会确定一次audio tracks与video之间的同步问题。

Null packets[编辑]

Null packets可能会存在于ATSC 和 DVB之中, 可用于确认constant bitrate。

M2TS[编辑]

M2TS是指Blu-ray BDMV的stream 封装容器。

支持TS的软件[编辑]

跨平台[编辑]

Linux[编辑]

Windows[编辑]

Mac OS X[编辑]

注释[编辑]

外部链接[编辑]

参见[编辑]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值