MPEG2-TS

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


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

MPEG2-TS

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

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

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

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

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

多重 MPEG 节目会结合 天线.

目录

  • 1 套接层
  • 2 重要元素
    • 2.1 Packet
    • 2.2 PID
    • 2.3 Programs
    • 2.4 PSI
      • 2.4.1 PAT
      • 2.4.2 PMT
      • 2.4.3 CAT
      • 2.4.4 NIT
    • 2.5 PCR
    • 2.6 Null packets
  • 3 M2TS
  • 4 支持TS的软件
    • 4.1 跨平台
    • 4.2 Linux
    • 4.3 Windows
    • 4.4 Mac OS X
  • 5 注释
  • 6 外部链接
  • 7 参见

套接层[编辑]

传输流类似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) 8 0x47
Transport Error Indicator (TEI) 1 如果这个流中包含了一个无法修复的错误,由解调器设置,以告诉多路解调器,该包存在一个无法纠正的错误[2]
Payload Unit Start Indicator 1 1 表示是 PES 数据或 PSI数据的开始部分,否则为零.
Transport Priority 1 1 意思是在相同 PID 的数据包中含有更高的优先权.
PID 13 包的ID号
Scrambling control 2 '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 exist 2 01 = 无配适栏, 仅 payload

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

Continuity counter 4  
    注:以上总共为32位,被称为传输流的4个字节前缀
Adaptation field 0 或更多 依旗标而定
Payload Data 0 或更多 依旗标而定
配适栏格式
名称 比特数 描述
Adaptation Field Length 8 Number of bytes in the adaptation field immediately following this byte
Discontinuity indicator 1 Set 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 indicator 1 Set to 1 if the PES packet in this TS packet starts a video/audio sequence
Elementary stream priority indicator 1 1 = 更高优先权
PCR flag 1 1 意思是配适栏含有一 PCR field
OPCR flag 1 1 意思是配适栏含有一 OPCR field
Splicing point flag 1 1 means presence of splice countdown field in adaptation field
Transport private data flag 1 1 means presence of private data bytes in adaptation field
Adaptation field extension flag 1 1 means presence of adaptation field extension
Below fields are optional variable 依旗标而定
PCR 33+6+9 节目时钟引用
OPCR 33+6+9 Original Program clock reference. Helps when one TS is copied into another
Splice countdown 8 Indicates how many TS packets from this one a splicing point occurs (may be negative)
stuffing bytes variable  

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的软件[编辑]

跨平台[编辑]

  • FFmpeg
  • MPlayer [4]
  • VideoLAN VLC media player [5]

Linux[编辑]

  • xine
  • MythTV
  • GStreamer

Windows[编辑]

  • Combined Community Codec Pack [6]
  • GOM Player
  • Squared 5 MPEG Streamclip [7]
  • Total video converter
  • AVS Video Converter
  • 格式工厂
  • Windows Media Player 12

Mac OS X[编辑]

  • Squared 5 MPEG Streamclip [7]
  • Perian Quicktime Plugin for Mac OS X

注释[编辑]

  1. ^ ISO/IEC 13818-1 Second edition. 2000-12-01: xi or 11 according to PDF viewer. 
  2. ^ TSReader Support
  3. ^ DVB scrambling control bits defined. Page 6
  4. ^ http://www.mplayerhq.hu/
  5. ^ http://www.videolan.org/vlc/
  6. ^ http://cccp-project.net
  7. ^ 7.0 7.1 http://www.squared5.com

外部链接[编辑]

  • MPEG-2 Systems FAQ
  • MPEG-4 Systems FAQ

参见[编辑]

  • MPEG2-PS
取自“ https://zh.wikipedia.org/w/index.php?title=MPEG2-TS&oldid=34837535”

导航菜单

个人工具

  • 创建账户
  • 登录

命名空间

  • 条目
  • 讨论

大陆简体

查看

  • 阅读
  • 编辑
  • 查看历史

更多

导航

  • 首页
  • 分类索引
  • 新闻动态
  • 最近更改
  • 随机条目

帮助

  • 帮助
  • 社群首页
  • 方针与指引
  • 互助客栈
  • 知识问答
  • 字词转换
  • IRC即时聊天
  • 联络我们
  • 关于维基百科
  • 资助维基百科

工具

  • 链入页面
  • 相关更改
  • 上传文件
  • 特殊页面
  • 打印版本
  • 页面信息
  • 维基数据项
  • 引用本页

其他语言

编辑链接

你可能感兴趣的:(MPEG2-TS)