TS流
cabbage2008
这个作者很懒,什么都没留下…
展开
-
TS科普5 PES包解析
TS包头:47 48 14 10 同步字:47 有效起始位:1(4) PID:814 1:负载中只有有效载荷根据下图解析:包起始码前缀 :占用24位 本例为: 00 00 01流id :占8位 本例为: C0PES包长度 :占用16位 即一帧数据长度(也可以置为0) 本例为: 01 88 即占用392个字节传送PES HEA原创 2015-11-03 09:46:27 · 20522 阅读 · 1 评论 -
TS科普17 有条件访问表
有条件访问(CA)表提供一个或多个CA 系统及其EMM 流之间的关系以及任何与它们有关的特殊参数。该表在一个或多个具有以下句法的分段中包含。它可以被分割占用多个分段。原创 2015-12-03 21:16:33 · 15076 阅读 · 0 评论 -
TS科普25 TS音视频同步及PCR相关计算
MPEG2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。在TS 层, TS头信息包含了节目时钟参考PCR(Program Clock Reference), 用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。 在PES层, 在PES头信息里包含有表示时间戳PTS(Presentation Time Stamp)和 解码时间戳DTS(Decoding Time Stamp原创 2015-12-13 10:47:34 · 41888 阅读 · 6 评论 -
TS科普19 各种流(如:MP3、H264、H265等)在TS的流类型
各种流(如:MP3、H264、H265等)在TS的流类型0x03 ISO/IEC 11172-3 音频0x1B ITU-T H.264 建议书 | ISO/IEC 14496-10 视频中定义的AVC 视频流0x1C-0x7E ITU-T H.222.0 建议书 | ISO/IEC 13818-1 保留 新添加0x24:ITU-T H.265 建议书原创 2015-12-04 20:24:45 · 22008 阅读 · 0 评论 -
TS科普18 节目映射表PMT
节目映射表提供节目编号与组成它们的节目元之间的映射。此类映射的一个特例称之为“节目定义”。节目映射表是传输流的所有节目定义的全面集成。此表必须以包的形式传输,包的PID 值由编码器选择。若希望,可以使用多个PID 值。该表包含在一个或多个具有以下句法的分段中。它可以被分割占用多个分段。在每个分段中,分段编号字段必须设置为‘0’。分段由program_number 字段标识。原创 2015-12-04 09:33:00 · 17352 阅读 · 0 评论 -
TS科普4 寻找下一个TS包
本节将粗略讲述在确定好第一个包位置后如何找后续包一个TS流如下图所示:第一个TS包47 60 00 10 00 00 B0 0D 00 00 C1 00 00 00 01 E081 0C 8C BE 32 FF FF ……………………………..………………………………………………………………………………………………………………………………………………….FF第二个TS包47 60 81 10 00 02 B0 17 00 01 C1 00 00 E8 10 F0 00 1B E8原创 2015-10-23 14:02:17 · 22605 阅读 · 3 评论 -
TS科普6 TS包关系
1. 首先找到PID为0x00的TS包,找到里面的节目映射表(PMT)PID,因为可能有几个节目信息。所以可能有几个PMT_PID,以一个为例2.接着查找该PMT_PID的TS包,通常就紧接着。在该PMT包中找音频和视频的PID。以视频为例。3.开始提取一帧ES数据“ 3.1 查找视频PID的TS包 3.2 找PES包头,方法:TS包头第2个字节的高6位(有效载荷单元起始指示符)为1的TS包,跳过自适应字段,找到PES包头,提取时间戳,再跳至ES数据,这就是一帧ES数据的开始部分。原创 2015-11-07 13:46:29 · 15522 阅读 · 0 评论 -
TS科普20 专用分段句法
当专用数据在具有PID 值的传输流包中发送时,该PID 值标示为节目相关表中的节目映射表PID,必须使用private_section。private_section 在允许将要传输的数据具有最小结构的同时,使得解码器能够从句法上分析该流。以两种方式使用分段:若section_ syntax _indicator 设置为‘1’,则必须使用对所有表通用的整体结构;若分段句法指示符设置为‘0’,则仅 ‘table_id’字段到‘private_section_length’字段之间的字段遵从公共结构句法与语义而原创 2015-12-05 16:06:36 · 15575 阅读 · 0 评论 -
TS科普21 传输流分段句法
ITU-T H.222.0 建议书| ISO/IEC 13818-1 兼容比特流可以承载表2-36 规定的信息。ITU-T H.222.0 建议书| ISO/IEC 13818-1 兼容解码器可解码在此表中所规定的信息。规定传输流描述表以支持2.6 中出现的整个传输流的描述符传送。该描述符应适用于整个传输流。此表使用0x03 的table_id 值,如表2-31 中所指示的,并且此表在其PID 值为0x0002 的传输流包中承载,如表2-3 中所指定的。原创 2015-12-05 16:12:07 · 15572 阅读 · 0 评论 -
TS科普22 PAT PMT PES关系
PSI(节目特定信息) 分为PAT(节目相关表)和PMT(节目映射表)1个PAT表中包含N个PMT表的索引信息而1个PMT表中又包含视频PES 音频PES等索引信息各关系如下图:原创 2015-12-05 16:45:47 · 16924 阅读 · 2 评论 -
TS科普23 ES PES TS关系
简单讲:以视频为例,我们将一帧视频压缩成的H264码流 可以称作为ES流,将其打包变为PES流 然后拆分成多个188字节,称为TS流原创 2015-12-05 17:05:34 · 16594 阅读 · 3 评论 -
TS科普 1 简介
TS是日本高清摄像机拍摄下进行的封装格式,全称为MPEG2-TS。TS即"Transport Stream"的缩写。它是分包发送的,每一个包长为188字节。包的结构为,包头为4个字节,负载为184个字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS主要应用于实时传送的节目,比如实时广播的电视节目。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。简单地说,将DVD上的VOB文件的前面一截cut掉(或者是数据损坏数据)就会导致整个文件无法解码,而电视原创 2015-10-20 09:16:10 · 16379 阅读 · 0 评论 -
TS科普24 TS分析样例
TS分析样例 PID:0x00payload_unit_start_indicator(有效载荷起始符):1adaptation_field_control(自适应字段):0x1 表示负载无adaptation_field,仅含有效载荷(PAT)Program Association Table (PAT表)table_id = 0;section_syntax_indicator = 1;section_length = 13transport_stream_id = 1version_n原创 2015-12-05 18:18:29 · 15981 阅读 · 5 评论 -
TS科普16 节目相关表PAT
节目相关表提供program_number 和承载该节目定义的传输流包的PID 值之间的对应。program_number是同节目有关的数值标签。PMT PAT原创 2015-11-26 12:34:48 · 15347 阅读 · 0 评论 -
TS科普3 寻找第一个TS包
一个IS流由一组组188字节的包组成所有的事务都是有始有终,如何寻找第一个TS包将是我们本节的主题。如图所示,一般来说第一个TS包一般在第一个位置,本例举出一个特殊情况在寻找第一个TS包时,不断读取TS包,直到找到pid=000的位置,并将读取过的TS包置入缓冲区原创 2015-10-23 09:18:13 · 16292 阅读 · 0 评论 -
TS科普7 助记符
bslbf 比特串,左比特为首,其中“左”为顺序,按该顺序比特串写入本建议书|国际标准中。比特串被写成在单引号标志内的1和0的字符串,例如‘1000 0001’。比特串内的空位是为了阅读方便而无任何意义。ch 信道gr 音频层II中3x32子带样本、音频层III中18x32子带样本的区位。main_data 比特流的main_data部分包含尺度因子、Huffman编码数据以及辅助信息。main_data_beg 此助记符给出该帧main_data在比特流中的起始位置。该位置等于先前帧的main_原创 2015-11-08 19:55:36 · 15506 阅读 · 0 评论 -
TS科普8 传输流编码构造与参数
ITU-T H.222.0 建议书|ISO/IEC 13818-1 传输流编码层允许一个或多个节目组合成单一流。来自每个基本流的数据同节目内允许该基本流同步显示的信息一起多路复用。传输流由一个或多个节目组成。音频和视频基本流由存取单元组成。基本流数据在PES包中承载。PES包由PES包头及随后的包数据组成。PES包插入到传输流包中。每个PES包头的首字节定位于传输流包的第一个有效载荷位。PES包头从32比特起始码开始,并标识该包数据所归属的流或流类型。PES包头可以包含解码时间标记和显示时间标记(DTS原创 2015-11-09 20:28:02 · 15044 阅读 · 0 评论 -
TS科普 2 包头
TS 流都是固定等长的188字节包如下图所示 用UltraEdit打开的一个TS流,我们发现每隔188个字节就有一个47(可以看做是包头)原创 2015-10-20 19:55:02 · 40203 阅读 · 1 评论 -
TS科普9 传输流包层
sync_byte — sync_byte 为固定的8 比特字段,其值为'0100 0111' (0x47)。在对于其他正式出现字段的赋值选择中,诸如PID,应避免sync_byte 仿真。transport_error_indicator — transport_error_indicator 为1 比特标志。置于1 时,它指示在相关传输流包中至少存在1 个不可校正比特错。此比特可以由传输层以外的实体设置为‘1’。设置为‘1’时,此比特应不重新设置为‘0’,除非误差比特值已经校正。payload_un原创 2015-11-11 14:36:46 · 16924 阅读 · 2 评论 -
TS科普12 流id解析
stream_id — 节目流中,stream_id 指示基本流的类型和编号,如stream_id 表2-22 所定义的。传输流中,stream_id 可以设置为准确描述基本流类型的任何有效值,如表2-22 所规定的。传输流中,基本流类型在2.4.4 中所指示的节目特定信息中指定。原创 2015-11-15 14:34:49 · 16315 阅读 · 0 评论 -
TS科普10 自适应字段
adaptation_field_length — adaptation_field_length 为指定紧随adaptation_field_length 的adaptation_field中的字节数的8 比特字段。0 值表示传输流包中插入单个填充字节。当adaptation_field_control 值为‘11’时,adaptation_field_length 值必须在0 到182 的区间内。当adaptation_field_control 值为‘10’时,adaptation_field_len原创 2015-11-14 17:20:34 · 17726 阅读 · 4 评论 -
TS科普14 节目特定信息
节目特定信息(PSI)包括ITU-T H.222.0 建议书| ISO/IEC 13818-1 正式数据和专用数据两部分,以使节目的多路分解能够由解码器完成。节目由一个或多个基本流组成,每个流有一个PID 签标。节目、基本流或者它们之中的若干部分可以加扰供有条件访问使用。然而,节目特定信息应不加扰。传输流中,节目特定信息分成为6 种表构造,如表2-28 所示。尽管这些结构可以看作为简单的表,但它们将被分割成若干分段并插入到传输流包中,一些分段具有预定的PID,其余的分段具有用户自选的PID。原创 2015-11-19 20:06:29 · 15626 阅读 · 0 评论 -
TS科普11 PES包句法解析
packet_start_code_prefix — packet_start_code_prefix 为24 比特码。同跟随它的stream_id 一起组成标识包起始端的包起始码。packet_start_code_prefix 为比特串‘0000 0000 0000 0000 0000 0001’(0x000001)。stream_id — 节目流中,stream_id 指示基本流的类型和编号,如stream_id 表2-22 所定义的。传输流中,stream_id 可以设置为准确描述基本流类型的任何原创 2015-11-15 14:28:15 · 22533 阅读 · 0 评论 -
TS科普15 节目特定信息指针
pointer_field — 此为8 比特字段,其值为字节数,即紧随pointer_field 直至传输流包有效载荷中存在的首分段的首字节出现为止的字节数(因此pointer_field 中的0x00 值指示pointer_field 后该分段立即起始)。当至少一个分段在给定的传输流包中开始传输时,payload_unit_start_indicator(参阅2.4.3.2)应置于‘1’,并且那个传输流包的有效载荷的首字节必定包含该指针。当给定的传输流包中没有任何分段开始传输时,payload_unit_原创 2015-11-25 09:13:09 · 15046 阅读 · 0 评论 -
TS科普13 一个PES包图解
PES包图解样例原创 2015-11-16 20:55:17 · 17017 阅读 · 0 评论 -
TS科普26 SDT解析
SDT, Service description section,服务描述段SDT可以提供的信息包括:(1) 该节目是否在播放中(2) 该节目是否被加密(3) 该节目的名称原创 2016-06-29 10:49:15 · 3056 阅读 · 0 评论