802.16中的TS流传输

802.16中的TS流传输
802.16中的TS流传输

目录1.TS流的含义

2.基于IP的MPEG_2 TS流

3. 基于IP的TS流在MAC层传输

一.TS流的含义

1.TS流的定义

传输流是MPEG-2定义的一种数据流,TS(Transfer Stream)是传输流的缩写词。其目的是为了在有可能发生严重错误的环境下进行一个或多个节目的编码数据的传输和存储。这种错误表现为比特值错误或传输流分组的丢失。MPEG-2传输流由连续的传输流分组构成。这些传输流分组中携带有两类信息:经编码压缩过的原始流数据和PSI表。携带不同类型数据的传输流分组由不同的PID字段值标识。每个被指定的PID值都与特定的传输流分组相对应,而且是唯一对应。编码压缩过的原始数据流包括视频原始流、音频原始流以及专用数据流。

传输流的编码层允许将一个或多个节目复接成单个传输流。节目是一些有着相同的时间基准的原始流的集合。从每个原始流来的数据被复接在一起,并带有充足的辅助信息PSI,使一个节目的原始流能够正确地同步显示。传输流分组长度为固定的188字节。选择分组的大小,基于如下几个因素。

首先,分组必须足够大,这样分组头的开销与传输的有效数据相比而言占的比例很小,传输的效率比较高。但是分组又不能太大,否则分组出错的概率将变得很大(因为纠错的效率不高)。另外,需要使分组的大小与典型的纠错块大小一致,这样分组就能和纠错块同步起来,而且传输系统的物理层可以在解码器的分组同步过程中起辅助作用。选择分组长度为188个字节的另一个原因是考虑到与ATM格式之间的互操作性。因为每个传输流分组的长度为188个字节,而一个ATM信元的负载为47个字节,这样每4个A TM信元就能够传送一个传输流分组。基于固定长度分组方式的传输流在将多路数据进行复接时提供了灵活性和一系列优点,下面将对此进行描述。

(1)传输容量的动态分配

固定长度的分组使得对于在视频、音频和辅助数据业务的信道容量的分配上提供了灵活性。在分组中使用分组标识符PID作为码流识别的方法,可以灵活地对视频、音频和辅助数据进行复合,而不需要预先进行定义。整个信道容量在突发的数据传输时可以重新分配。应用系统可以利用这一特性在广播一个节目前的几秒钟将密钥送到接收用户手中,或者将与节目有关的计算机软件送给一个接收机。

(2)可分级

如果传输中有更大的信道带宽可以利用,那么可以在复接器的输入端接入更多的基本码流,或者将这些基本码流与己有的传输码流进行第二次复接,这在网络分配上是一个很有用的特性,而且可以充分利用电缆传输系统的容量。在6兆赫兹的信道内传输更高的比特率。

(3)可扩展性

由于现在无法预料到将来可能的种种业务,所以对于MPEG-2标准来说,提供一个开放的业务扩展结构显的格外重要。对于新的基本码流来说,在传输层将其加入进行处理,无须做硬件上的改动。只需在发送端赋予其新的分组识别号(PID),并在接收端对其进行过滤即可得到。这样后向兼容也得到了保证,因为当新的码流加进传输流中时,现有的解码器自动将这些新的PID滤掉。抗干扰性是固定长度分组方式的另一好处,固定的分组长度构成了对传输中出现的错误进行处理的基础。对错误的检测和纠正处理可以和分组结构同步,这样在处理由于传输损伤而导致的数据丢失时,解码器可以以分组为单位进行。实际应用中,在检测到传输中出现的错误后,是从第一个好的分组开始恢复数据流。在各种应用场合中,是借助于传送分组头中的信息来进行同步恢复。如果不用这种方式,对码流中同步的恢复将完全依赖于每种原始码流的特性。

2.TS流的分组结构

MPEG-2标准给用户提供了两种适合不同应用场合的应用层码流:适合环境比较恶劣,传输不太稳定的传输流(TS);适合稳定环境的特别是软件处理环境的节目流(PS)。这两种码流是MPEG-2码流的高级应用层表现,通过下一层(PES)相互转换是可能的。而PES层的数据都是由基本流ES打包而成,ES包括视频ES,音频ES以及其它压缩或非压缩数据。视频ES和音频ES就是运用MPEG-2压缩技术而得到的视音频的压缩数据。这里主要是研究传输流。传输流将有多个独立时间基点的多路节目合成一个单独的数据流,其中属于同一路节目的各个原始数据流的PES数据包具有相同的时间基。TS流适应于在有可能发生严重错误的信道环境下进行数据传送。

TS流是由一个个数据包组成的,数据包长度为固定的188字节,每个数据包有一个包头,然后是数据负载。原始的音、视频流先编码为PES流,PES流

由PES包组成,每个PES包有一个包头,然后是数据负载。PES包作为TS包的负载加以传输,每个PES包的包头的第一个字节是传输流数据包有效负载的第一个字节。

图1 TS流结构

TS包一般由4Bytes的头和184的PES数据构成。由于一个TS包内只能包含一个PES包内的数据,所以当剩下PES包数据不足184Bytes时,应采用6Bytes 的头,加上适当数目的填充字节后再加上PES数据,组成一个TS包。当有效负载为PSI信息时,此时的TS包由6Bytes的头和填充字节及PSI数据组成。

二.基于IP的TS流

1.TS over IP技术介绍

对于网络视频业务,目前基于IP网的视频流传输方式有两种方式,一种是直接采用压缩后的视频流进行传输,以Microsoft的ASF、RealTime的Real Media 和Apple和QuickTime格式为主;另一种是面向数字电视广播的,采用标准MPEG-2TS流格式进行IP网传输,即所谓的TS over IP。

TS over IP的主要功能是实现数字电视传输协议转换和业务模式转换,通过把数字电视在传统的数字电视传输网络里引进,进行业务模式的转换和传输协议的转换,使数字电视节目以适合宽带IP网络运营的形式输出。

DVB从2000年10月成立了护(IP Infrastructure)特别工作组由该工作组制定基于IP及相关网络协议的数字电视业务实现。其中一个成果草案RFC2250推荐了一种MPEG1和MPEG2用IP传输实现TS over IP的打包方案。

该草案具体要求如下:

1) IP打包大小的策略:每个IP包封装1---7个TS包。

2)系统时间同步模型的保持:在RTP包头的时间戳域里利用90KHz精度的

PCR。

3)采用的封装协议:利用RTP协议传输TS,同时可选RTCP,RSVP会话协

议。

4)IP流中应该包括PA T和PMT表,SI表以一定的格式如XML,在单独的

IP流中传输。同时可选FEC等机制实现差错控制。

图2所示为DVB RFC2250草案推荐的TS over RTP结构:

图2 TS over RTP结构

3.UDP协议

在因特网的网络层之上采用两种传输协议:传输控制协议(Transport Control Protocol,TCP)和用户数据报协议(User Datagram Protocol UDP)。TCP是可靠的面向连接的传输协议,UDP是不可靠的无连接的传输协议。

TCP有着很多优势,但是TCP的报文头最长可以达到60字节,而UDP的报文头只有8个字节,两种协议的报头相差是数量级的差距。虽然UDP不支持提供可靠传输,但基于这个优点,且面向无连接,延时短,包头小,额外开销少,与TCP的综合相比,更适合于实时流媒体传输,而且音视频信息不像数据信息的可靠性要求高,需要100%的准确,只要不影响接收者的理解。

4.RTP协议

为了支持网络实时传输服务,提供数据实时传输的标准,1996年因特网工程任务组(Internet Engineering Task Force,IETF)的音视频工作组(Audio-Video Transport Working Group)制定了实时传输协议(Real-Time Transport Protocol,RTP)。

RTP被定义为RTP和实时控制协议(Real-Time Control Protocol,RTCP)一对紧密相关的协议。RTP采用UDP来传输实时数据,包括视频、音频等;RTCP 则采用TCP来传输数据,实时监测网络质量,从而可以指导应用程序做出调整。RTP和RTCP的配合使用能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合在网络上传送实时数据。

RTP位于UDP之上,是一种应用型的传输层协议,它本身不提供任何传输可靠性的保证或拥塞控制机制。RTP通常总是与低一层的UDP结合使用,不仅可以利用UDP的端口号和校验和,还可以利用其传输延时短的优点传输实时数据。RTP在TCP/IP网络模型中的位置如图3所示,它可以看成是传输层中较高的子层。

图3 RTP在TCP/IP模型中的位置

应用程序在发送音视频数据时,先将它们封装在RTP信息包中,每个RTP 信息包被封装在UDP的负载中,再封装在网络层的IP数据包中。接收时,顺序正好相反,先在网络层去处IP包的包头,接着将UDP包解封装,取出RTP包,再将音视频数据从RTP负载中取出,交上层应用程序解码。

实时传输协议(RTP)为数据提供了具有实时特征的端对端传输服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在UDP上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是RTP可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。

RTP本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。RTP并不保证传输或防止无序传输,也不确定底层网络的可靠性。RTP实行有序传输,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。

RTP 协议的数据包头格式如图4:

图4 RTP数据包头格式

V——版本。识别RTP版本。

P——间隙(Padding)。设置时,数据包包含一个或多个附加间隙位组,其

中这部分不属于有效载荷。

X——扩展位。设置时,在固定头后面,根据指定格式设置一个扩展头。

CSRC Count——包含CSRC标识符(在固定头后)的编号。

M——标记。标记由Profile文件定义。允许重要事件如帧边界在数据包流中进行标记。

Payload Type——识别RTP有效载荷的格式,并通过应用程序决定其解释。Profile文件规定了从Payload编码到Payload格式的缺省静态映射。另外的Payload Type编码可能通过非RTP方法实现动态定义。

Sequence Number——每发送一个RTP数据包,序列号增加1。接收方可以依次检测数据包的丢失并恢复数据包序列。

Timestamp——反映RTP数据包中的第一个八位组的采样时间。采样时间必须通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。SSRC——同步源。该标识符随机选择,旨在确保在同一个RTP会话中不存在两个同步源具有相同的SSRC标示符。

CSRC——贡献源标示符。识别该数据包中的有效载荷的贡献源。

5. TS流在IP中的RTP协议中的封装

在前面提到的RFC2250的草案中,已经将RTP的具体结构已经介绍了,现在将介绍如何封装。首先,每个RTP包的时间戳生成自发送端的90kHz频率的参考时钟,该时钟与节目参考时钟(PCR)同步,代表了包负载中第一个字节的目标传送时间。目标传送时间并不一定是RTP包被放至网上的时间,而是由编码算法指定的RTP包必须被传送的时间。该时间戳不会被传送至解码器,因为负载中已经包含了解码器所需的参考时钟。RTP时间戳的主要作用是估计和减小网络引入的抖动,并同步发送端和接收端之间的相对时间漂移。

其次对于只有188字节长度的MPEG-2 TS包,为了避免降低系统的效率,在RFC2250草案中规定,多个TS包数据可以整合成一个RTP负载,但一个RTP 包的有效负载必须包含整数个MPEG-2 TS包。考虑到多数数据链路层协议将最大数据包长度限制为1500字节,一般最多将7个MPEG-2 TS包整合在一个RTP

包负载中,再加上1字节RTP包头、8字节UDP包头及最短20字节IP包头,这样到达数据链路层的分组长度为:188×7+12+8+20=1356字节,正好小于1500字节,若再多加一个TS包,则又将超过1500字节。当然,到达数据链路层的数据包长度可以超过上限,这时数据就会被分段后进入物理层发送,这样只要一个分段在传输中丢失,整个IP包就无法完整拼装,RTP负载就不能恢复,那么其他已收到的分段也变得无意义了。这只会增加数据丢失的概率,因此一个RTP 包负载中最多封装7个MPEG-2 TS包。

三.基于IP的TS流在MAC层的传输

1.汇聚子层(CS)简介

IEEE802.16的汇聚子层(CS)在MAC公共层(CPS)之上,主要功能是从上层接收数据包并封装成为特定MAC数据包传送到下层相应的接口点。通过设置汇聚子层,IEEE802.16的MAC公共控制部分独立于承载技术,协议栈的层次结构更加清晰,在支持多种承载技术的同时,更有利于进行扩展。目前IEE802.16——2004标准的汇聚子层支持两种上层业务:面向异步传输模式(ATM)业务和分组数据业务。

Wimax系统中每一个业务信息和管理信息都对应一个连接标识(CID),因此CS主要功能就是完成上层数据流与基于CID的MAC数据的关联,这个任务由分类器(Classification)完成。在两种CS中,都包含有一个分类器,ATM CS的分类器完成虚通道标识(Virtual Path Identifier,VPI)、虚通路标识(Virtual Channel Identifier,VCI)与CID的正确映射,分组CS的分类器根据所支持协议完成将上层标识(如IP地址)与CID的映射。两种模式下都支持包头压缩以提高传输效率,压缩规则在创建业务流时由两个对等MAC层协商。

2.面向分组业务的CS层

Wimax系统除了支持ATM信元外,还支持分组业务数据。面向分组业务的汇聚子层(Packet CS)用于传输所有基于分组的协议数据。这些协议包括:互联网协议(IP)、点对点协议(PPP)、以太网协议(IEEE802.3)等。与ATM CS一样,Packet CS的主要功能是对IP数据包进行分类,并将其映射到合适的连接。如果需要,则执行IP数据包头部信息压缩操作,然后形成MAC SDU,交给CPS数据平面进一步处理。由于目前通信网络中最大的数据业务是基于IP的分组业务,所以

IP在CS层传输时应该得到关注。

4.CS子系统构造

在802.16协议里,CS位于MAC CPS上层,主要负责数据传送。如图5所示,为了更清楚地说明CS需要完成的功能,将其分为数据平面和控制平面。

图5 CS子系统架构图

1)CS的数据平面

数据收发:通过CS SAP接收来自高层的数据包或者将接收到的SDU进行处理后发送至高层。

分类器:根据分类规则对所接收的高层数据进行分类,对应到四种业务类型(UGS、rtPS、nrtPS、BE),然后映射到符合其QoS要求的业务流上。

头压缩及头压缩恢复:在发送端按照某一业务流相关联的头压缩规则对接收到的高层IP数据包进行头压缩(optional);接收对端发送来的数据,应用同一头压缩规则进行解压缩(optional)操作,恢复原始的IP数据包。

2)CS的控制平面

为了支持CS的两大功能,即分类器(Classifier)与数据包头压缩,CS的控制面建立了以业务流ID为索引的分类规则(Classifier Rule)表、头压缩规则(PHS Rule)表。同时CS控制面通过与CPS控制面业务流管理模块的信息交互完成以下功能:

Classifier Rule的建立、修改和删除;

PHS Rule的建立修改和删除;

当收到符合新的分类规则的IP数据包时,通知业务流管理模块激活预设

的业务流来进行承载;

当收到业务流管理模块的删除业务流的指示时,将存储的该业务流的相

关信息删除。

5.CS层功能细化

1)分类(classification)

CS的核心内容是业务分类。分类操作就是将进入IEEE802.16网络的数据包进行分类并将其映射到合适的连接。连接关联着一系列的业务流参数,这些参数都是与QoS和带宽分配相关的,会体现到数据通过物理层时的调度和发送。也就是说连接是从CS开始的。

分类器是一系列映射标准的集合,分类器有优先级的不同。根据上层来的数据的特定的参数,选择使用不同的分类器。WIMAX系统允许多个分类器指向同一个业务流。当存在多个不同的分类器时,它们的优先级决定了应用的顺序。因为不同分类器所使用的映射模式可能会有重叠,所以有必要对分类器设立优先级。每个分类器包含一个优先级别的字段,来决定搜索使用分类器的顺序。如果找到匹配的分类器,则会把数据包对应到相应的连接。

如果没有找到,则将数据丢弃。如果有多个分类器与数据包匹配,则选择优先级高的分类器。

在分类时,应将从IP包头中解析出来的参数与分类规则中的对应字段逐一进行比较,发现有一项不匹配则退出该分类器;只有与全部分类条目都符合时才认为与该分类规则相匹配,进而将该类数据包映射至对应的业务流上。

以涉及IPv4数据包为例,具体的,用于检查是否匹配的参数包括: ToS, Protocol type, IPv4 masked source address, IPv4 masked destination, IPv4

protocol source port range, IPv4 protocol destination port range,其判断标准为:1.将待匹配数据包的ToS字段与tos-mask参数进行与操作,然后判断结

果是否大于或等于tos-low且小于或等于tos-high;

2.待匹配数据包的protocol type是否为prot1、prot2、……、protN中的某

一个;

3.将待匹配数据包的源/目的IP地址分别与smask1/dmask1、

smask2/dmask2等参数相与,然后判断结果是否与src1/dst1、src2/dst2中的一组相同;

4.判断待匹配数据包的源/目的端口号是否大于或等于

sportlow1/dportlow1且小于或等于sporthigh1/dporthigh1,如果不满足则继续判断是否大于或等于sportlow2/dportlow2且小于或等于sporthigh2/dporthigh2……以此类推。

图6表明了分类处理过程

图6 分类处理过程

处理过程如下:

通过对数据包进行IP头解析,获得分类所要用到的信息,如ToS,protocol type,source address,destination address,source port,destination port;

将解析出的数据包信息与业务流分类器里各项指标比较,任何一项的比较结果为不符合时,均认为该条分类规则为不符合,直接跳至下一条分类规则进行比较。一旦找到符合的分类规则,即找到相匹配的业务流,就中止查找。如果该业务流处于激活状态,获得该业务流对应的CID,如果处于非激活状态,则得到该业务流的ID,即SFD。如果没有任何一条分类规则相匹配,则将该IP包丢弃。

2)净荷报头压缩(PHS)

为了节省空中链路资源,协议定义了PHS机制。即在CS发送端压缩IP包头部部分信息,压缩掉的部分头部信息不放在MACSDU中予以传输。而在CS接收端进行解压缩操作,恢复成完整的数据包。PHS操作是可选的。发送实体先借助分类器,将分组分别映射到对应的业务流。同时,分类器还会得出唯一与分组相关联的净荷报头压缩规则。如果某个分类器被系统删去,则分类器与之相关的PHS rule也会被删除。

(1)PHS rule

PHS rule内容包括:PHSI(Payload Header Suppression Index),PHSV(Payload Header Suppression V alid),PHSM(Payload Header Suppression Mask),PHSF(Payload Header Suppression Field),PHSS(Payload Header Suppression Size)。

PHSI是PHS rule的索引,取值范围是1至255。数据包通过分类后映射到合适的连接,而每个连接关联着一个PHSI,如果需要进行PHS 操作,则将通过PHSI值找到其指示的PHS rule来进行数据包头部信息压缩。如果某个MAC连接被设定为要求进行PHS操作,那么每个MAC SDU都必须以PHSI开始。

PHSV指示在数据包头部信息压缩前是否需要对包头信息进行验证。验证操作就是将PHSM指示的数据包的需要压缩的内容与PHSF中的信息相比较,如果相同,则验证通过,表示PHSF中的要压缩的信息内容与数据包头部中的部分信息内容相同;如果不同,则验证失败。PHSV 取值为“0”和“1”,“0”代表需要验证,如果验证通过,接着进行PHS 操作;如果没有验证通过,则不进行PHS操作,将PHSI设为“0”。“1”

代表不需要验证,这就无法保证PHSF中的要压缩的信息内容与数据包头部中的部分信息内容是否相同,而直接根据PHSM指示的压缩字节进行PHS操作。

PHSF是数据包头部包含的一串字符,指示了需要压缩的数据头部的信息。PHSF的内容是预先定义的,一旦某个PHSF已经被分配给了一个PHSI,这个PHSF的内容就不能再改变。如果需要修改业务流上某个PHSF的值,系统就必须为其定义新的PHS rule。当然,新规则加入的同时,旧的规则会从服务流中移除。

PHSM允许选择数据包头部中哪些字节不被压缩。因此,PHSM可以用来保存上层会话中的一些信息而不被修改。

PHSS表明数据包头部需要压缩的字节总数,其值也应该与PHSF 相对应。

(2)PHS操作

Wimax 系统中的连接是与数据的传输方向有关的,在这里,将其分为上行和下行传输来介绍PHS的操作。

分组到达CS之后,55首先对分组与分类规则相匹配,一旦找到匹配的分类规则,55就可以确定一个上行业务流,连接标识符以及净荷报头压缩的规则。其中,净荷报头压缩规则中指定了所有的参数设置,包括PHSF,PHSI,PHSM,PHSV和PHSS。如果PHSV值为零,SS 将对数据包头中的字节和PHSF中PHSM作用下压缩以后的字节进行比较。如果二者能够匹配,55将对所有没有被PHSM掩盖的字节进行压缩。如果PHSV不为零,则不需做验证操作,直接对数据包头根据PHSM 和PHSF进行压缩。随后,SS在PDU的前面缀上PHSI。最后,一个完整的MAC SDU传递给CPS Data平面。

BS从空中接收到MAC PDU以后,BS侧的MAC层首先通过检查通用MAC头,确定该PDU所关联的连接标识符。MACPDU经CPS 数据平面处理后得到MAC SDU交给CS,CS通过连接标识符和PHSI 来查找PHSF、PHSM和PHSS。接着,BS对接收的数据进行重组,重组以后的分组中包含了被压缩的所有字节。如果BS侧事先要求发送端

进行验证,系统可以保证PHSF中的字节完全等同于原始的包头字节。否则的话,系统不能保证PHSF中字节与原始包头中的字节完全一致。如图7所示,PHS的操作过程。

图7 PHS的处理过程

ts流解析规则

HLS,Http Live Streaming是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP 协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。 1、M3U8文件 用文本方式对媒体文件进行描述,由一系列标签组成。 #EXTM3U #EXT-X-TARGETDURATION:5 #EXTINF:5, ./0.ts #EXTINF:5, ./1.ts #EXTM3U:每个M3U8文件第一行必须是这个tag。 #EXT-X-TARGETDURATION:指定最大的媒体段时间长度(秒),#EXTINF中指定的时间长度必须小于或等于这个最大值。该值只能出现一次。 #EXTINF:描述单个媒体文件的长度。后面为媒体文件,如./0.ts 2、ts文件 ts文件为传输流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3。 ts文件分为三层:ts层Transport Stream、pes层 Packet Elemental Stream、es层 Elementary Stream. es层就是音视频数据,pes层是在音视频数据上加了时间戳等对数据帧的说明信息,ts层就是在pes层加入数据流的识别和传输必须的信息

注:详解如下 (1)ts层ts包大小固定为188字节,ts层分为三个部分:ts header、adaptation field、payload。ts header固定4个字节;adaptation field可能存在也可能不存在,主要作用是给不足188字节的数据做填充;payload是pes 数据。 ts header

TS流结构分析(PAT和PMT)

TS流也是由一个或多个PES组合而来的,他们可以具有相同的时间基准,也可以不同。其基本的复用思想是,对具有相同时间基准[color="#000000"]的多个PES现进行节目复用,然后再对相互有独立时间基准的各个PS进行传输复用,最终产生出TS。TS包由包头和包数据2部分组成,其中包头还可以包括扩展的自适用区。包头长度占4bytes,自使用区和包数据共占184bytes,整个TS包长度相当于4个ATM包长。TS包的包头由如下图摘录所示的同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别(PID-Packet Identification)、传输加扰控制、自适应区控制和连续计数器8个部分组成。 其中,可用同步字节位串的自动相关特性,检测数据流中的包限制,建立包同步;传输误码指示符,是指有不能消除误码时,采用误码校正解码器可表示1bit 的误码,但无法校正;有效载荷单元起始指示符,表示该数据包是否存在确定的起始信息;传输优先,是给TS包分配优先权;PID值是由用户确定的,解码器根据PID将TS上从不同ES来的TS包区别出来,以重建原来的ES;传输加扰控制,可指示数据包内容是否加扰,但包头和自适应区永远不加扰;自适应区控制,用2 bit表示有否自适应区,即(01)表示有有用信息无自适应区,(10)表示无有用信息有自适应区,(11)表示有有用信息有自适应区,(00)无定义;连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。显然,包头对TS包具有同步、识别、检错及加密功能。 TS包自适应区由自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。其中标志部分由间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志、自适应区扩展标志8个部分组成。重要的是标志部分的PCR字段,可给编解码器的27MHz时钟提供同步资料,进行同步。其过程是,通过PLL,用解码时本地用PCR相位与输入的瞬时PCR相位锁相比较,确定解码过程是否同步,若不同步,则用这个瞬时PCR调整时钟频率。因为,数字图像采用了复杂而不同的压缩编码算法,造成每幅图像的数据各不相同,使直接从压缩编码图像数据的开始部分获取时钟信息成为不可能。为此,选择了某些(而非全部)TS包的自适应区来传送定时信息。于是,被选中的TS包的自适应区,可用于测定包信息的控制bit和重要的控制信息。自适应区无须伴随每个包都发送,发送多少主要由选中的TS包的传输专用时标参数决定。标志中的随机存取指示符和接点标志,在节目变动时,为随机进入I帧压缩的数据流提供随机进入点,也

TS流信息描述2

transport stream MPEG组织于1994年推出MPEG-2压缩标准,以实现视/音频服务与应用互操作的可能性,MPEG-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定。对应于不同的应用,符合MPEG-2标准的码流又分为传送流和程序流,本文主要讲解了传送流有关的部分数据结构,从实际应用的传送流码流中截取了部分码流做了说明,并给出了部分解析传送流码流的实例程序。 在MPEG-II标准中,为了将一个或更多的音频、视频或其他的基本数据流合成单个或多个数据流,以适应于存储和传送,必须对其重新进行打包编码,在码流中还需插入各种时间标记、系统控制等信息,最后送到信道编码与调制器。这样可以形成两种数据流——传送流(TS)和程序流(PS),分别适用于不同的应用,图1给出了单路节目的视音频数据流的复用框图。 传送流(Transport Stream)简称TS流,它是根据ITU-T Rec.H.222.0|ISO/IEC 13818-2 和ISO/IEC 13818-3协议而定义的一种数据流,其目的是为了在有可能发生严重错误的情况下进行一道或多道程序编码数据的传送和存储。这种错误表现为比特值错误或分组丢失。传送流由一道或多道节目组成,每道节目由一个或多个原始流和一些其他流复合在一起,包括视频流、音频流、节目特殊信息流(PSI)和其他数据包。其中PSI表有4种类型:节目关联表(PAT)、节目映射表(PMT)、网络信息表和条件访问表。传送流应用比较广泛,如视音频资料的保存、电视节目的非线性编辑系统及其网络等。在开发机顶盒以及视频设备时有时需要对码流的编码知识有比较清楚地了解,这样才能在遇到问题时做出全面的分析。 TS流结构分析 如图2所示,TS包的长度是固定的,为188字节。包括同步字节(sync_byte)0x47和数据包识别号PID等。PID为13位字段,指示存储于分组有效负载中数据的类型,PID值0x0000为程序关联表保留,而0x0001为条件访问表保留,0x1FFF为空分组保留。从PID可以判断其后面负载的数据类型是视频流、音频流、PSI还是其他数据包。 PSI描述说明 在MPEG-II中定义了节目特定信息(PSI),PSI用来描述传送流的组成结构,在MPEG-II系统中担任极其重要的角色,在多路复用中尤为重要的是PAT表和PMT表。PAT表给出了一路MPEG-II码流中有多少套节目,以及它与PMT表PID之间的对应关系;PMT表给出了一套节目的具体组成情况与其视频、音频等PID对应关系。PSI提供了使接收机能够自动配置的信息,用于对复用流中的不同节目流进行解复用和解码。PSI信息由以下几种类型表组成: ◆节目关联表(PAT Program Association Table) PAT表用MPEG指定的PID(00)标明,通常用PID=0表示。它的主要作用是针对复用的每一路传输流,提供传输流中包含哪些节目、节目的编号以及对应节目的节目映射表(PMT)的位置,即PMT的TS包的包标识符(PID)的值,同时还提供网络信息表(NIT)的位置,即NIT 的TS包的包标识符(PID)的值。 ◆条件接收表(CAT Conditional Access Table) CAT表用MPEG指定的PID(01)标明,通常用PID=1表示。它提供了在复用流中条件接收系统的有关信息,指定CA系统与它们相应的授权管理信息(EMM))之间的联系,指定EMM 的PID,以及相关的参数。 ◆节目映射表(PMT Program Map Table) 节目映射表指明该节目包含的内容,即该节目由哪些流组成,这些流的类型(音频、视频、数据),以及组成该节目的流的位置,即对应的TS包的PID值,每路节目的节目时钟参考(PCR)

ts流解析规则

HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP 协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。 1、M3U8文件 用文本方式对媒体文件进行描述,由一系列标签组成。 #EXTM3U #EXT-X-TARGETDURATION:5 #EXTINF:5, ./0.ts #EXTINF:5, ./1.ts #EXTM3U:每个M3U8文件第一行必须是这个tag。 #EXT-X-TARGETDURATION:指定最大的媒体段时间长度(秒),#EXTINF中指定的时间长度必须小于或等于这个最大值。该值只能出现一次。 #EXTINF:描述单个媒体文件的长度。后面为媒体文件,如./0.ts 2、ts文件 ts文件为传输流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3。 ts文件分为三层:ts层Transport Stream、pes层 Packet Elemental Stream、es层 Elementary Stream. es层就是音视频数据,pes层是在音视频数据上加了时间戳等对数据帧的说明信息,ts层就是在pes层加入数据流的识别和传输必须的信息

注:详解如下 (1)ts层 ts包大小固定为188字节,ts层分为三个部分:ts header、adaptation field、payload。ts header固定4个字节;adaptation field可能存在也可能不存在,主要作用是给不足188字节的数据做填充;payload是pes数据。 ts header sync_byte 8b 同步字节,固定为0x47 transport_error_indicator 1b 传输错误指示符,表明在ts头的adapt域后由一个无用字节,通常都为0,这个字节算在adapt域长度内 payload_unit_start_indicator 1b 负载单元起始标示符,一个完整的数据包开始时标记为1 transport_priority 1b 传输优先级,0为低优先级,1为高优先级,通常取

TS流解析

#include #include using namespace std; struct programs //封装节目信息的结构体 { int programID;//节目编号 int pmtPID;//所属PMT的pid int videoPID;//视频pid int audioPID1;//音频pid int audioPID2;//音频pid }myProg[20]; bool FindAndParsePAT(unsigned char *buffer,int pID,int curPack);//传入BUF和PID的值bool FindAndParsePMT(unsigned char *buffer,int pID,int curPack); int program=0; int prog_count=0; void main() { unsigned char *buffer=new unsigned char[500]; int startPos=0;//第一个TS分组在流中的位置序号 int packageLen=0;//分组长度 int pmtCount=-1;//PMT表序号 int pID=0; int nullpack=0; //0.以二进制方式打开TS文件 ifstream myFile("test.ts",ios::binary|ios::in); //1.读入文件的前500个字节,找同步头、确定包长 myFile.read((char *)buffer,500); for(int i=0;i<500;i++) { //判断有无压缩 if(buffer[i]==0x47&&buffer[i+188]==0x47) { startPos=i;//第一个TS分组在流中的位置序号 packageLen=188;//分组长度 break; } else if(buffer[i]==0x47&&buffer[i+204]==0x47) { startPos=i; packageLen=204; break; } }

MPEG-2 TS 码流编辑的原理与应用

MPEG-2 TS 码流编辑的原理与应用 在当今数字媒体不断发展、新媒体业务不断涌现的前提下,实践证明襁褓中的新媒体只有两种经营方略可供选择:或是购买并集成整套节目,或是低成本深加工新节目,再不可能去按照传统生产模式去自采自编。低成本的节目生产制作与发布,不仅成为数字媒体经营的主要手段,也成为传统媒体“改革工作流程”的重要举措,进而促成了对新型工作母机和简捷快速流程的迫切需求。 在辽宁新媒体多业务综合服务平台上,先于国际和国内应用了MPEG-2传输流快速剪辑编辑系统(以下简称码流快编)。这项由辽宁电视台与深圳奥维迅公司在2003年10月联合开发的新技术,为数字媒体低成本节目的制作、推广和运营提供了高效生产工作母机。尽管担负此项目源代码开发的奥维迅公司出现了经营问题,在技术推广的中间环节发生梗塞,但并不能说明此项技术走到了尽头。回顾3年的应用实践及研发成果,需要的不是扬弃,而是演进的升级,否则就是对可调控资源的莫大浪费。特别是针对第二代信源编解码国标AVS-P2的更新换代,很可能成为多业务内容整合的新一代产品的突破口。 一工作原理 1. 功能目标 码流快编的应用目标是,通过对开放视频的采集,将DVB-S或C的传输流(Transport Stream,TS)节目作为信源,直接进行剪辑处理,再经过人工创意后,整合为新主题内容的新节目,以便直接进入频道集成或编辑频道节目播出,快速实现数据层的内容整合,不仅简捷了采集制作的工作流程,而且为丰富媒体内容资产开辟了一条捷径。因为码流快编的工作流程无需先以解码后的视频记录于磁带,再以磁带上载编辑机,经编辑后再下载成为磁带,再编码复用成为新内容的新节目。即便数字化完成以后,视频数据流仍不能用于经复用的数字传输,还需编码、转码、打包等传输格式化以后,才能在数字信道上传输。而采用码流快编以后,不仅避免了解码后再采样编码所形成的视频损耗,还避免了在1∶1时间的上下载中所造成的效率损耗。更重要的是在视频内容整合中,一次性完成音/视频同步剪切、字幕处理和音/视频数据打包复用等连续作业。所以,它能够提高生产效率60%以上。必要时还可进行节目包装的特技编辑,直接创建数据级和文件级的互联互通内容交换平台,在媒体资产管理下,顺利实现网络化与智能化的节目配送与发布。 由于码流快编是针对以TS为信源的再编辑系统,所以实行“高来高走,低来低走”,或是“高来低走”的应用策略,即高码率对应高码率(包括兼容高清),低码率对应低码率,但码率连续可调,以适应高码率对应低码率的应用。理论和应用都说明,对比源节目和成品节目,经剪切和编辑处理的图像保持了同等的视频质量,成为不劣化图像的创新工作流程和新型工作母机。 2. 设计特征

H265封装成TS流

H265封装成TS流 #define STREAM_TYPE_VIDEO_MPEG1 0x01 #define STREAM_TYPE_VIDEO_MPEG2 0x02 #define STREAM_TYPE_AUDIO_MPEG1 0x03 #define STREAM_TYPE_AUDIO_MPEG2 0x04 #define STREAM_TYPE_PRIVATE_SECTION 0x05 #define STREAM_TYPE_PRIVATE_DATA 0x06 #define STREAM_TYPE_AUDIO_AAC 0x0f #define STREAM_TYPE_AUDIO_AAC_LATM 0x11 #define STREAM_TYPE_VIDEO_MPEG4 0x10 #define STREAM_TYPE_VIDEO_H264 0x1b

#define STREAM_TYPE_VIDEO_HEVC 0x24 //Definition of 0x24 HEVC video MPEG TS stream type #define STREAM_TYPE_VIDEO_CAVS 0x42 #define STREAM_TYPE_VIDEO_VC1 0xea #define STREAM_TYPE_VIDEO_DIRAC 0xd1#define STREAM_TYPE_AUDIO_AC3 0x81 #define STREAM_TYPE_AUDIO_DTS 0x82 #define STREAM_TYPE_AUDIO_TRUEHD 0x83

TS流解析之PMT表格解析

TS流解析之PMT表格解析 2010-12-14 08:44 TS流解析之PMT表格解析 PMT结构定义: typedef struct TS_PMT_Stream { unsigned stream_type : 8; //指示特定PID的节目元素包的类型。该处PID由elementary PID指定 unsigned elementary_PID : 13; //该域指示TS包的PID 值。这些TS包含有相关的节目元素 unsigned ES_info_length : 12; //前两位bit为00。该域指示跟随其后的描述相关节目元素的byte数 unsigned descriptor; }TS_PMT_Stream; //PMT 表结构体 typedef struct TS_PMT { unsigned table_id : 8; //固定为0x02, 表示PMT表 unsigned section_syntax_indicator : 1; //固定为0x01 unsigned zero : 1; //0x01 unsigned reserved_1 : 2; //0x03 unsigned section_length : 12;//首先两位bit置为00,它指示段的byte数,由段长度域开始,包含CRC。 unsigned program_number : 16;// 指出该节目对应于可应用的Program map PID unsigned reserved_2 : 2; //0x03 unsigned version_number : 5; //指出TS流中Program map section的版本号 unsigned current_next_indicator : 1; //当该位置1时,当前传送的Program map section可用; //当该位置0时,指示当前传送的Program map section不可用,下一个TS 流的Program map section有效。 unsigned section_number : 8; //固定为0x00 unsigned last_section_number : 8; //固定为0x00 unsigned reserved_3 : 3; //0x07 unsigned PCR_PID : 13; //指明TS包的PID值,该TS包含有PCR域, //该PCR值对应于由节目号指定的对应节目。 //如果对于私有数据流的节目定义与PCR无关,这个域的值将为

码流盒 码流卡 TS流录制 播放盒 全球通用 DVB-C DVB-T DVB-S DTMB-TH

码流录制盒播放盒(DVB-C-S-T-TH) 码流录制盒是北京迪未数视最新推出的一款码流录制盒,可以从数字电视网中录制遵循DVB标准的MPEG-2 TS码流。软件操作简单,界面友好。兼备录制与播放DVB传输流为一身的专业数字电视工具。可以完成播放和录制功能。该设备是网口输出,直接接PC网口,TS流就可以通过网络接口录制到电脑硬盘上。 专业的数字电视码流采集设备,免安装驱动,支持各种操作系统,即插即用,既可以实时播放数字电视节目,又可以录制TS码流并保存到电脑上。 支持多种数字电视方式:DVB-C,DVB- S/S2,DVB-T/T2欧标,DTMB-TH国标。 特性: *支持DVB-C\DVB-T\DVB-S\DTMB-TH输入,符合MPEG2系统层规范 *支持100Base-TX网口,符合IEEE 802.3规范 *支持以网口输出,可以不用直接连接pc,直接连接与pc在同一个局域网的网络设备 *在PC端使用免安装的控制软件,不需要安装软件 *支持VLC播放,可以随时对传输流进行数据分析 *支持实时播放,实时录制和预约录制 *提供API,支持二次开发 *支持远程在线升级 *支持各种操作系统:Microsoft Windows 98/ME、2000、XP、Server2003、win7,linux等等

优势之处: 1.尺寸小,与家用路由器相当,携带方便。 2.安装简单,免安装驱动,只要你有信号源和电脑,录制节目流就不是问题。 3.方便保存,录制下来的节目直接保存在电脑硬盘里面,方便使用。 本产品采用以太网接口输出,可以远距离操作。 采用本产品录制TS流时,用户不需要在电脑上面安装任何软件,只需要运行一个免安装的很小的控制软件即可。 本设备体积小、重量轻,价格便宜。当STB厂商也可以把这个设备寄给您的客户,让客户帮忙录制TS。本设备友好的人机界面,使您的用户基本不需要了解数字电视相关的知识,只要会操作电脑就会录制TS。 技术规范: *以太网接口 -网络标准:IEEE 802.3 -接口介质:100Base-TX -传输模式:100Mbps全双工 *射频输入 -接口类型:长F头输入,IEC公头环路输出 -输入频率:50~862MHz -输入电平:45dBuV~80dBuV -输入阻抗:75Ω *电源适配器 -输入:100-240VAC -输出:12VDC 1A *外形尺寸 - 110 x 90 x 24 mm 产品连接 1.电视信号连接 用铜轴线将录制盒的射频输入与数字电视接收信号连接。 2.网络连接 用网线将录制盒的网口与电脑的网卡直接连接。 注意:需要手动配置电脑的网卡(与录制盒连接的网口)的IP地址。

TS码流分析

MPEG组织于1994年推出MPEG-2压缩标准,以实现视/音频服务与应用互操作的可能性,MPEG-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定。对应于不同的应用,符合MPEG-2标准的码流又分为传送流和程序流,本文主要讲解了传送流有关的部分数据结构,从实际应用的传送流码流中截取了部分码流做了说明,并给出了部分解析传送流码流的实例程序。 在MPEG-II标准中,为了将一个或更多的音频、视频或其他的基本数据流合成单个或多个数据流,以适应于存储和传送,必须对其重新进行打包编码,在码流中还需插入各种时间标记、系统控制等信息,最后送到信道编码与调制器。这样可以形成两种数据流——传送流(TS)和程序流(PS),分别适用于不同的应用,图1给出了单路节目的视音频数据流的复用框图。 传送流(Transport Stream)简称TS流,它是根据ITU-T Rec.H.222.0|ISO/IEC 13818-2 和ISO/IEC 13818-3协议而定义的一种数据流,其目的是为了在有可能发生严重错误的情况下进行一道或多道程序编码数据的传送和存储。这种错误表现为比特值错误或分组丢失。传送流由一道或多道节目组成,每道节目由一个或多个原始流和一些其他流复合在一起,包括视频流、音频流、节目特殊信息流(PSI)和其他数据包。其中PSI表有4种类型:节目关联表(PAT)、节目映射表(PMT)、网络信息表和条件访问表。传送流应用比较广泛,如视音频资料的保存、电视节目的非线性编辑系统及其网络等。在开发机顶盒以及视频设备时有时需要对码流的编码知识有比较清楚地了解,这样才能在遇到问题时做出全面的分析。 TS流结构分析 如图2所示,TS包的长度是固定的,为188字节。包括同步字节(sync_byte)0x47和数据包识别号PID 等。PID为13位字段,指示存储于分组有效负载中数据的类型,PID值0x0000为程序关联表保留,而0x0001为条件访问表保留,0x1FFF为空分组保留。从PID可以判断其后面负载的数据类型是视频流、音频流、PSI 还是其他数据包。 PSI描述说明 在MPEG-II中定义了节目特定信息(PSI),PSI用来描述传送流的组成结构,在MPEG-II系统中担任极其重要的角色,在多路复用中尤为重要的是PAT表和PMT表。PAT表给出了一路MPEG-II码流中有多少套节目,以及它与PMT表PID之间的对应关系;PMT表给出了一套节目的具体组成情况与其视频、音频等PID对应关系。PSI提供了使接收机能够自动配置的信息,用于对复用流中的不同节目流进行解复用和解码。PSI信息由以下几种类型表组成: ◆节目关联表(PAT Program Association Table) PAT表用MPEG指定的PID(00)标明,通常用PID=0表示。它的主要作用是针对复用的每一路传输流,提供传输流中包含哪些节目、节目的编号以及对应节目的节目映射表(PMT)的位置,即PMT的TS 包的包标识符(PID)的值,同时还提供网络信息表(NIT)的位置,即NIT的TS包的包标识符(PID)的值。 ◆条件接收表(CAT Conditional Access Table) CAT表用MPEG指定的PID(01)标明,通常用PID=1表示。它提供了在复用流中条件接收系统的有关信息,指定CA系统与它们相应的授权管理信息(EMM))之间的联系,指定EMM的PID,以及相关的参数。 ◆节目映射表(PMT Program Map Table) 节目映射表指明该节目包含的内容,即该节目由哪些流组成,这些流的类型(音频、视频、数据),以及组成该节目的流的位置,即对应的TS包的PID值,每路节目的节目时钟参考(PCR)字段的位置。 ◆网络信息表(NIT Nerwork Information Table) 网络信息表提供关于多组传输流和传输网络相关的信息,其中包含传输流描述符、通道频率、卫星发射器号码、调制特性等信息。 ◆传输流描述表(TSDT Transport Stream Description Table) 传输流描述表由PID为2的TS包传送,提供传输流的一些主要参数。 ◆专用段(private_section)

TS流解析

传输流(TS) 将具有共同时间基准或具有独立时间基准的一个或多个PES组合而成的单一的数据流称为传输流(Transport Stream)。TS实际是面向数字化分配媒介(有线、卫星、地面网)的传输层接口。对具有共同时间基准的两个以上的PES 先进行节目复用,然后再对相互可有独立时间基准的各个PS进行传输复用,即将每个PES再细分为更小的TS包 TS包由包头、自适应区和包数据3部分组成。每个包长度为固定的188B,包头长度占4 B,自适应区和包数据长度占184B。184B为有用信息空间,用于传送已编码的视音频数据流。当节目时钟基准(PCR-Program Clock Reference)存在时,包头还包括可变长度的自适应区,包头的长度就会大于4B。考虑到与通信的关系,整个传输包固定长度应相当于4个ATM包。考虑到加密是按照8B 顺序加扰的,代表有用信息的自适应区和包数据的长度应该是8B的整数倍,即自适应区和包数据为23×8B =184B。 TS包的包头由如图所示的同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别(PID-Packet Identification)、传输加扰控制、自适应区控制和连续计数器8个部分组成。其中,可用同步字节位串的自动相关特性,检测数据流中的包限制,建立包同步;传输误码指示符,是指有不能消除误码时,采用误码校正解码器可表示1bit 的误码,但无法校正;有效载荷单元起始指示符,表示该数据包是否存在确定的起始信息;传输优先,是给TS包分配优先权;PID值是由用户确定的,解码器根据PID将TS上从不同ES来的TS包区别出来,以重建原来的ES;传输加扰控制,可指示数据包内容是否加扰,但包头和自适应区永远不加扰;自适应区控制,用2 bit表示有否自适应区,即(01)表示有有用信息无自适应区,(10)表示无有用信息有自适应区,(11)表示有有用信息有自适应区,(00)无定义;连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。显然,包头对TS 包具有同步、识别、检错及加密功能。 TS包自适应区由自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。其中标志部分由间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志、自适应区扩展标志8个部分组成。 TS包语法结构如下:

DVB录制卡 TS流录制 全球通用 DVB-C DVB-T DVB-S DTMB-TH

DVB传输流采集盒是符合MPEG-II/DVB标准的DVB码流盒,提供完备的API接口函数,是数字电视设备理想的硬件开发平台。DVB码流盒主要用于将各种数字电视设备输出的传输流数据采集到计算机的硬盘上。 专业的数字电视码流采集设备,免安装驱动,支持各种操作系统,即插即用,既可以实时播放数字电视节目,又可以录制TS码流并保存到电脑上。 支持多种数字电视方式:DVB-C,DVB- S/S2,DVB-T/T2欧标,DTMB-TH国标。 特性: *支持DVB-C\DVB-T\DVB-S\DTMB-TH输入,符合MPEG2系统层规范 *支持100Base-TX网口,符合IEEE 802.3规范 *支持以网口输出,可以不用直接连接pc,直接连接与pc在同一个局域网的网络设备 *在PC端使用免安装的控制软件,不需要安装软件 *支持VLC播放,可以随时对传输流进行数据分析 *支持实时播放,实时录制和预约录制 *提供API,支持二次开发 *支持远程在线升级 *支持各种操作系统:Microsoft Windows 98/ME、2000、XP、Server2003、win7,linux等等

优势之处: 1.尺寸小,与家用路由器相当,携带方便。 2.安装简单,免安装驱动,只要你有信号源和电脑,录制节目流就不是问题。 3.方便保存,录制下来的节目直接保存在电脑硬盘里面,方便使用。 本产品采用以太网接口输出,可以远距离操作。 采用本产品录制TS流时,用户不需要在电脑上面安装任何软件,只需要运行一个免安装的很小的控制软件即可。 本产品特别适合STB工程师外出采集码流。STB工程师外出采集码流的时候,利用本设备在普通用户家庭或酒店就可以采集实际环境的码流。本设备支持全频搜索,采集工程师不需要了解当地的网络情况。为了获取最原始的码流,本设备支持全频点录制;为了节省存储空间,本设备也支持单节目录制。 本设备体积小、重量轻,价格便宜。当STB厂商也可以把这个设备寄给您的客户,让客户帮忙录制TS。本设备友好的人机界面,使您的用户基本不需要了解数字电视相关的知识,只要会操作电脑就会录制TS。 技术规范: *以太网接口 -网络标准:IEEE 802.3 -接口介质:100Base-TX -传输模式:100Mbps全双工 *射频输入 -接口类型:长F头输入,IEC公头环路输出 -输入频率:50~862MHz -输入电平:45dBuV~80dBuV -输入阻抗:75Ω *电源适配器 -输入:100-240VAC -输出:12VDC 1A *外形尺寸 - 110 x 90 x 24 mm 产品连接

_TS流规范V1.0(IFE口)

COSHIP ITV TS流规范 文档作者:宋小刚日期:2007-08-01 项目经理:日期: 审核:日期: 批准:日期: 深圳同洲视讯传媒有限公司

文档历史发放及记录

目录 1传输流(TRANSPORT STREAM)要求 (6) 1.1TS流必须是符合ISO/IEC13818-1T RANSPORT S TREAM(MPEG-2的传输流)标准和DVB-C 的相关标准; (6) 1.2TS流中只包含一个节目即SPTS流; (6) 1.3TS流由长度为188字节的包组成,由一个完整传送包开始并且包含整数个传送包; 6 1.4TS流中的内容不能被加密或加扰; (6) 1.5在TS流中,节目关联表(PAT)和节目映射表(PMT)须同时成对出现,且PAT在PMT前; (6) 1.6PAT和PMT以0.5秒左右的间隔重复出现; (6) 1.7一个节目可含一个视频流和不多于16个的其他流(音频或私有数据); .6 1.8节目程序参考时钟(P ROGRAM C LOCK R EFERENCE,PCR)的PID(标识符)即PCR_PID 与节目视频流的PID一致; (6) 1.9PCR时间最好是在每个视频帧的开始,且PCR与PCR之间的时间间隔保证在40毫秒左右,波动不能太大;(建议项) (6) 1.10TS流中最好包含10%以内的空包以便片段之间的拼接;(建议项) (6) 1.11视频流中每帧的数据单独成一个视频PES包,即每个视频PES中仅包含一个视频帧的数据;(建议项) (6) 1.12包含视频图片系列(S EQUENCE H EADER,S EQUENCE E XTENSION和G ROUP OF P ICTURES H EADER)开始的包必须带有程序参考时钟(PCR)的时间标记;(建议项) (6) 1.13TS流中的第一个程序参考时钟(PCR)的不连续标记(DISCONTINUITY_INDICATOR FLAG)值须设置为“1”;(建议项) (6) 1.14总码率:标清MPEG2码率3.75M BPS,高清MPEG2码率15M BPS,标清H264码率1.6M BPS,高清H264码率6M BPS;(建议项) (6) 1.15相关PID建议参考如下值:(建议项)1)PAT表中的TRANSPORT_STREAM_ID=1,只有一个节目号PROGRAM_NUMBER=2,PID=32;2)PMT表中的PCR_PID=33,视频流PID=33,音频流PID=34,其他流累加。 (6) 2视频编码要求 (7) 2.1视频流编码格式:MPEG-2格式需符合ISO/IEC13818-2编码标准;MPEG-4格式需符合ISO/IEC14496-2编码标准;H264格式需符合ISO/IEC14496-10编码标准; 7 2.2视频流必须为PAL制式,即帧率25帧/秒,普通画面大小为720*576,高清画面大小为1280*720,全高清画面大小为1920*1080; (7) 2.3MPEG-2格式相关 (7) 2.4H264格式相关 (7) 3音频编码要求 (8) 3.1音频流必须根据ISO/IEC11172-3(A UDIO部分)中MPEG-1L AYER2的标准进行编码; 8 3.2采样率:48K H Z;(建议项) (8) 3.3比特率:单声道96KBPS、双声道192KBPS;(建议项) (8) 3.4单声道、双声道的选择与片源保持一致;(建议项) (8)

TS流分析软件EasyICE使用方法简介

龙源期刊网 https://www.360docs.net/doc/c11737521.html, TS流分析软件EasyICE使用方法简介 作者:陈晓军 来源:《卫星电视与宽带多媒体》2012年第09期 TS流分析软件EasyICE使用方法简介 笔者以深圳生产的DVBWorld 2102S USB多媒体数据接收盒为例向大家介绍详细使用过程,将接收盒硬件和软件全部安装好,然后依次点击“开始”→“所有程序”→“DVBWorld” →“TsCapture”项,打开TS流录制程序,如,点击“ LOCK”按钮可设置待录制TS流的下行频率、极化方式和符码率等参数,“Max File Size”是修改保存文件的大小,通过“Set Path”按钮设置好保存的文件名和位置(注意:保存文件的扩展名可以更改为TS,如图2),然后点击“Start Capture”便开始保存码流文件了,单击“Stop Capture”按钮可以停止录制。 接下来就是分析TS流文件的操作了。通过菜单栏或工具栏打开一个 TS 文件或将文件拖动到 EasyICE内,可根据实际所需调协范围:整个文件或抽样分析,通常选择整个文件来分析,虽然多花点时间,但分析效果会更好。当文件分析完毕后,软件主界面上会出现播放器、MediaInfo、PSI/SI、PID、图表和数据包四个选项标签,其中的播放器窗口会被初始化并处于暂停状态,单击播放按钮便开始播放节目(注:若TS流包含多路节目的话,则必须先在右上角选定某路节目才能播放),如图3所示。播控按钮依次为:播放、暂停、停止、降低播放速度、加大播放速度及逐帧播放,播放速度的调整分七个级别:1/4 速、1/3 速、1/2 速、正常速度、2 倍速、3 倍速和四倍速。当前播放速度会在“质量”区显示,“节目”区列出了当前流中所 含有的节目,展开可以看到节目的视频、音频和PCR三个PID;“质量”区显示了当前播放媒体的简单信息,如播放速度等,不过由于软件问题有些数据获取不到或存在问题,请以“媒体信息”栏检测结果为准。特别声名,软件首先会查找流中的 PSI/SI 信息,如果存在将按照 PSI/SI 信息解析,如果不存在软件将自己尝试检测视音频 PID 及 PCRPID,如果没有看到播放器画面,表明软件没有找到视频流或没有找到 PCR。 MediaInfo媒体信息标签模块显示了包括图像大小、编码格式、码率大小、彩色制式及场频等几乎所有的音视频详细参数,见图4所示。 PSI/SI标签模块对所有的 PSI/SI 进行了解析,当流中存在 PSI/SI 数据时,会在此模块会一一列出,在视图中点击鼠标右键,可以展开/折叠所有节点,见图5所示。 PID标签模块以统计的方式列出当前 TS 流中各个 PID 出现的数量及占用百分比及所属类型等,如图6所示。 图表标签模块。当流中存在多路节目时,图标界面会显示一节节目选择对话框,单击可以显示相应节目图表。包括:1、时间戳信息。时间戳图表显示的是DTS、PTS 出现时与 PCR 的采样。与“PCR 抖动” 图表相同的是,时间戳以 PCR 时钟为基准。DTS与PTS值取自视频流中

ps流与ts流

ps流与ts流 在MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流(TS:TransportStream)。据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流如DVD等等。由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流。 简单说就是ps流(主要用在DVD上)如是中间丢了一断码流,后面的都没法播了;而TS流(DVB-T,DMB-TH 等)如果断了码流,后面的随时可以再开始解码怎么看都行。DVB-T,DVB-H,DMB-TH 主要指的是调制解调(信道编码和解码)方式为COFDM,信源编解码采用的都是MPEG-2,TS流。目前地面波数字电视标准中只有日本的ISDB 采用MPEG-4(H.264)编解码。清晰度方面,DVB-T,DMB-TH标准都可以达到高清标准,DVB-H主要面向手持设备,接收终端的解析度有限。 ps码流:dvd等本地文件 ts码流:rtp网络传输等 ==================================================== pes,ts,ps ts流是由很多不同种类的包所组成的,这些数据包都是188个字节大小,这188个字节包含两部分,包头和负载,包头包括同步信息,包信息等等,而负载则是传输的数据,而这些负载则可以组成PES流或者私有流 等等数据流. 举例说,一个TS流包括100个包,其中PSI信息包占20个,PES数据包80个,此TS流中只有一套节目流,不含有私有流,所以从这80个PES包中的负载连接在一起,就是2个PES流(视频,音频),如果每个PES 包的负载长度为100字节,则这两个PES流一共长度为8000个字节.假设其中视频的PES流长度为6000字节.则视频的6000字节的PES流,是由PES包组成的.PES包没有固定的长度,而是由包头部的数据给出.而PS也是类似TS流分解的方式,逆向的由PES包封装成包,其中要添加 PACKET_HEAD,SYSTEM_HEAD等信息.所以上次所做的程序,并不是TS->PS的转换,而是从一个复杂 的TS流中,过滤去一套节目,构造出一个简单的TS流的过程. mpeg-ts,mpeg-ps的转换 mpeg2文件都是以数据包传递的,同样都是188个字节为一个包,但是作为传输流和节目流,包的组织结构还是不太一样的,作为传输流来说,其包含的包的种类比较多(其实不是包的种类,而是包含不同用途的数 据的种类比较多),比如有PID为0x0000的PAT,EIT,TDT,TOT,还有PMT,等等不同的表或包.而节目流所

解析TS流PAT和PMT 代码

#include #include #include #define ts_path "/home/huohuo/huangwork/work/birds.ts" //TS文件的绝对路径 void Read_Ts_Packet(FILE *file_handle,unsigned char *packet_buf,int len); //读一个TS流的packet int parse_TS(unsigned char *buffer,int FileSize); //分析TS流,并找出PA T的PID和PAT的table void parse_PAT(unsigned char *buffer,int len); //分析PA T,并找出所含频道的数目和PMT的PID void pronum_pmtid_printf(); //打印PMT的PID unsigned char* Find_PMT(unsigned short pmt_pid); //找出PMT的table void parse_PMT(unsigned char *buffer,int len,unsigned short pmt_pid); //解析PMT,找出其中的Video和Audio的PID void printf_program_list(); //打印PMT table中包含的stream的类型和PID unsigned char* Find_video_audio(unsigned short program_pid,unsigned char type); //找出Video或者Audio的table typedef struct { unsigned short program_num; //program's num unsigned short pmt_pid; // }PROGRAM; typedef struct { unsigned char stream_type; unsigned short elementary_pid; }PRO_LIST; PROGRAM programs[10] = {{0,0}}; //用来存储PMT的PID和数量unsigned int num = 0; //total program PRO_LIST program_list[10] = {{0,0}}; //用来存储PMT中stream的类型和PID unsigned int program_list_num = 0; FILE *file_handle; //指向TS流的指针 unsigned int FileSize = 0;

相关主题
相关文档
最新文档