TS码流转换为RTP码流的方法和装置与流程

文档序号:12493384阅读:2436来源:国知局
TS码流转换为RTP码流的方法和装置与流程

本发明涉及多媒体的技术领域,尤其是涉及一种TS码流转换为RTP码流的方法和装置。



背景技术:

TS(Transport Stream)是一种分包发送应用的封装格式,其应用主要是同轴传输的数字视频广播,并且支持多种基本媒体流和多种媒体编码标准(MPEG-2、MPEG-4、H.264、H.265和AVS等),方便扩展。TS已经有十多年实际的大规模普遍性应用,得到全球广播行业和互联网行业的一致认同。目前三种数字电视标准:先进电视制式委员会(Advanced Television System Committee,简称ATSC)、数字视频广播(Digital Video Broadcasting,简称DVB)、综合业务数字广播(Integrated Services Digital Broadcasting,简称ISDB)都基于MPEG TS作为实现基础。

实时传输协议(Real-time Transport Protocol,简称RTP)是一种针对互联网上多媒体码流的传输协议,由IETF的多媒体传输工作小组1996年在RFC1889中公布的,最新的为RFC3550。RTP被定义作为会话广播应用,支持一对一,或者,一对多的传输情况。RTP协议常用于流媒体系统,应用于互联网点播、视频会议、视频监控等应用。典型应用建立在UDP上,也可以在TCP等其他协议之上工作。RTP协议采用视频流和音频流分开传输方式实现。

在现有的传输方案中,MPEG TS系统和RTP传输系统之间的数据传输基本是处于割裂状态,缺少互通连接的纽带。当两种系统有另外一方的传输需求时,常常需要重新搭建系统,采购设备,并且不能重复利用之前系统的设备,因此,造成了成本剧增,资源浪费。

现有的MPEG TS转RTP的方案,常用的方案是直接把TS包封装到RTP包中。由于原本采用TS方式就已经增加了IP网络传送开销。在此基础上继续增加RTP头又产生了额外开销,增加了网络负担。而且这种封装方式背离了RTP传输音视频初衷,实际上接收端不能直接根据码流获取到RTP携带信息,增加了接收端的负担。

综上,在现有的转换方案中,没有提供码率控制方案,从而导致RTP码流传输时波动比较大,容易造成网络拥塞,数据丢包等一系列问题。并且在现有编码芯片方案中,较大部分支持直接输出TS。对于应用这样编码芯片方案不能应用于互联网传输或者视频通话等。



技术实现要素:

本发明的目的在于提供一种TS码流转换为RTP码流的方法和装置,以缓解现有技术中无法直接将广播电视系统中的数据直接发送至互联网直播系统的技术问题。

根据本发明实施例的一个方面,提供了一种TS码流转换为RTP码流的方法,包括:获取目标TS码流;对所述目标TS码流中的PSI表进行搜索,得到目标结果,其中,所述PSI表用于指示节目说明信息;根据所述目标结果对所述目标TS码流进行拆分,得到ES数据;按照实时传输协议标准对所述ES数据进行封装,封装得到RTP数据包,并按照当前时刻的网络传输速率向终端设备传输所述RTP数据包。

根据本发明实施例的一个方面,提供了一种TS码流转换为RTP码流的装置,包括:第一获取单元,用于获取原始TS码流,并对所述原始TS码流进行同步处理,得到目标TS码流;搜索单元,用于对所述目标TS码流中的PSI表进行搜索,得到目标结果,其中,所述PSI表用于指示节目说明信息;拆分单元,用于根据所述目标结果对所述目标TS码流进行拆分,得到ES数据;封装传输单元,用于按照实时传输协议标准对所述ES数据进行封装,封装得到RTP数据包,并按照当前时刻的网络传输速率向终端设备传输所述RTP数据包。

在本发明实施例中,首先对获取到的原始TS码流进行同步处理,然后,对同步处理之后的目标TS码流进行搜表处理,得到搜索结果,接下来,根据目标结果对目标TS码流进行拆分,得到ES数据,最后,按照实时传输协议标准对ES数据进行封装,得到RTP数据包,在得到RTP数据包之后,就可以通过网络向接收终端传输TS码流。在本发明实施例中,达到了简化数据传输流程的目的,进而解决了现有技术中无法直接将广播电视系统中的数据直接发送至互联网直播系统的技术问题,从而实现了减小网络传输负担的技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种TS码流转换为RTP码流的方法的流程图;

图2是根据本发明实施例的一种可选的搜表过程的流程图;

图3是根据本发明实施例的一种可选的TS码流转换为RTP码流的方法的流程图;

图4是根据本发明实施例的一种可选的PES数据结构的示意图;

图5是根据本发明实施例的一种可选的RTP数据的头信息的示意图;

图6是根据本发明实施例的一种TS码流转换为RTP码流的装置的示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

根据本发明实施例,提供了一种TS码流转换为RTP码流的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种TS码流转换为RTP码流的方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取目标TS码流。

TS规范采用TS包封装格式将视、音频流复用后单一流传输。TS码流数据包长固定为188字节,包头4个字节,第一字节固定为0x47,负载为184字节。

因此,在获取到广电网络传输的目标TS数据(以下均简称为TS数据)之后,可以对TS数据进行同步处理,即按照第一字节和包长对TS数据进行检验,以保证TS数据能够被识别。

步骤S104,对目标TS码流中的PSI表进行搜索,得到目标结果,其中,PSI表用于指示节目说明信息。

在MPEG-TS中定义了节目特定信息表(PSI),PSI表用来描述传送流的组成结构,在TS传输系统中担任极其重要的角色,在多路复用中尤为重要的是PAT表和PMT表。

在本发明实施例中,在获取到TS数据之后,可以对PSI表进行搜表处理,得到目标结果,具体地,搜索结果将在下述实施例中进行详细说明。

步骤S106,根据目标结果对目标TS码流进行拆分,得到ES数据。

在本发明实施例中,在获取到的目标结果之后,就可以通过目标结果对TS码流进行拆分,得到ES数据。

步骤S108,按照实时传输协议标准对ES数据进行封装,封装得到RTP数据包,并按照当前时刻的网络传输速率向终端设备传输RTP数据包。

在本发明实施例中,在拆分得到ES数据之后,就可以通过RTP协议对ES数据进行封装,得到RTP数据包,进而,就可以通过网络向终端设备传输RTP数据包,实现MPEG TS系统和RTP传输系统之间数据的自由传输。

当前时刻的网络传输速率为实时计算得到的,具体计算过程将在下述实施例中进行调整。

需要说明的是,上述步骤S102至步骤S108中的描述的方案均通过一个转换设备来执行,该转换设备设置于广电网络和终端设备之间,用于将广电网络的数据传输至终端设备。

在本发明实施例中,首先对获取到的原始TS码流进行同步处理,然后,对同步处理之后的目标TS码流进行搜表处理,得到搜索结果,接下来,根据目标结果对目标TS码流进行拆分,得到ES数据,最后,按照实时传输协议(RTP协议)标准对ES数据进行封装,得到RTP数据包,在得到RTP数据包之后,就可以通过网络向接收终端传输TS码流。在本发明实施例中,达到了简化数据传输流程的目的,进而解决了现有技术中无法直接将广播电视系统中的数据直接发送至互联网直播系统的技术问题,从而实现了减小网络传输负担的技术效果,并建立了MPEG TS系统和RTP传输系统之间数据的传输桥梁。

在本发明的一个可选实施方式中,对目标TS码流中的PSI表进行搜索,得到目标结果包括如下步骤:

步骤S1041,在PSI表中搜索节目关联表,其中,节目关联表的PID标识为第一预设标识;

步骤S1042,对节目关联表进行解析,得到节目映射表,其中,节目映射表的PID标识为第二预设标识;

步骤S1043,对节目关联表进行解析,得到视频TS数据包、音频TS数据包和PCR数据包。

具体地,在MPEG-TS中定义了节目特定信息表(PSI表),PSI表用来描述传送流的组成结构,在TS传输系统中担任极其重要的角色,在多路复用中尤为重要的是节目关联表(PAT表)和节目映射表(PMT表)。PAT表给出了一路MPEG-TS码流中有多少套节目,以及它与PMT表PID之间的对应关系;PMT表给出了一套节目的具体组成情况与其视频、音频等PID对应关系。PSI搜表过程是通过解析PSI表获取音频和视频流的PID和码流类型。

在本发明实施例中,首先按照ISO-IEC 13818-1标准,先搜索PID标识为0x00的PAT数据包(Program Association Table,节目关联表),其中,0x00即上述第一预设标识。查找到PID标识为0x00的PAT后,对PAT进行解析查找到PID标识为第二预设标识的PMT表(Program Map Table,节目映射表)的PID,例如,查找标识为0xNN的PMT表。在获取到PMT表后,可以通过该PMT表获取视频TS数据包、音频TS数据包和PCR数据包。

具体地,在视频TS数据包中包括视频的PID和视频流类型(stream_type);在音频TS数据包中包括音频的PID和音频流类型(stream_type);在PCR数据包中包括PCR的PID和PCR流类型(stream_type)。

如图2所示的即为一种搜表过程,通过图2所示,首先在PSI中搜索PID为0x00(第一预设标识)的PAT表,然后,在对PAT表进行解析,得到PID为第二预设标识(例如,0xNN)的PMT表,通过对PMT进行解析,就可以分别知晓视频、音频和PCR的流类型和PID。

需要说明的是,图2中所示的视频TS数据包,音频TS数据包和PCR数据包即为上述目标结果。

在得到视频TS数据包,音频TS数据包之后,就可以根据视频TS数据包和音频TS数据包对TS码流进行拆分,得到ES数据,具体地,包括如下步骤:

步骤S1061,根据视频TS数据包中的流类型确定视频PID,以及根据音频TS数据包中的流类型确定音频PID;

步骤S1062,根据第视频PID和音频PID分别对视频TS数据包和音频TS数据包进行拆分;

步骤S1063,对拆分之后的视频TS数据包和音频TS数据包进行拼接,得到视频PES数据包和音频PES数据包;

步骤S1064,删除视频PES数据包和音频PES数据包的头信息,得到视频ES数据和音频ES数据。

具体地,在本发明实施例中,首先,根据视频TS数据包中的流类型确定视频PID,以及根据音频TS数据包中的流类型确定音频PID,然后,根据音频PID对音频TS数据包进行拆分,以及根据视频PID视频TS数据包进行拆分。并对拆分之后音频TS数据包和视频TS数据包进行拼接。根据TS包中的pay_load_start_endicator拼接成音频或视频帧PES包。

在本发明实施例中,主要通过TS码流数据包中的pay_load_start_endicator对音频TS数据包和视频TS数据包进行拼接,进而分别得到音频PES数据包和视频PES数据包。其中,pay_load_start_endicator=1表示PES数据包的开始。

例如,在拼接音频PES数据包时,主要根据PES数据包的长度字段判断是否为完整PES,如果不完整,则表示还未拼接完,那么继续拆分下一个音视TS数据包,以对音频PES数据包进行拼接,直到拼接完成,即拼接得到一个完整的音频PES数据包。

需要说明的是,在本发明实施例中,根据第一PID标识和第二PID标识分别对TS码流分别对视频TS数据包和音频TS数据包进行拆分,进而,再根据拆分得到的视频TS数据包和音频TS数据包分别进行拼接,得到视频PES数据包和音频PES数据包。具体地,拼接得到视频PES数据包的过程与拼接得到音频PES数据包的过程相同,此处不再赘述。

在拼接得到视频PES数据包和音频PES数据包之后,就可以一次删除视频PES数据包和音频PES数据包的头信息,分别得到视频ES数据和音频ES数据。

可选地,在删除视频PES数据包和音频PES数据包的头信息,得到视频ES数据和音频ES数据之前,该方法还包括如下步骤:

步骤S1,分别提取视频PES数据包和音频PES数据包的头信息中的PTS数据,得到第一PTS数据和第二PTS数据;

步骤S2,将第二PTS数据进行时间戳转换,并将第一PTS数据和转换之后的第二PTS数据作为时间信息。

具体地,在上述步骤S1062得到视频PES数据包和音频PES数据包之后,还可以分别提取视频PES数据包和音频PES数据包的头信息中的PES数据,并保留,其中,PES数据为时间数据。

进一步地,由于PTS的时间单位是90KHz,因此,在发送音频数据包时,需要转换为音频编码采样率48KHz时间;当发送视频数据包时,由于两者时间单位都是90KHZ不需要转换。因此,在提取PES数据之后,需要完成从MPEG-TS系统的PTS到RTP系统的timestamp转换(即,时间戳转换)。

具体地,可以按照公式timestamp=(pts/90000)*48000对音频PTS数据(即,第二PTS数据)进行转换,其中,该公式中“pts”即为第二PTS数据。

在本发明的另一个可选实施方式中,按照实时传输协议标准对ES数据进行封装,得到RTP数据包包括如下步骤:

步骤S1081,对ES数据进行拆分,得到RTP负载数据包,其中,RTP负载数据包的数量至少为一个;

步骤S1082,根据预设配置参数和时间信息生成RTP负载数据包的头信息,其中,预设配置参数为RTP数据的传输参数;

步骤S1083,将RTP负载数据包的头信息与RTP负载数据包进行拼接,得到RTP数据。

具体地,在本发明实施例中,在得到上述音频ES数据和视频ES数据之后,就可以分别对音频ES数据和视频ES数据进行拆分,拆分得到音频RTP负载数据包和视频RTP负载数据包。其中,每个RTP负载数据包最多承载一个ES数据包。当ES数据大于一个RTP最大负载长度时,需要将ES数据拆分到多个RTP发送,其中,ES数据拆分完时,记录结束标志。

接下来,就可以根据上述时间信息和预设配置参数生成RTP负载数据包的头信息,具体,生成音频RTP负载数据包的头信息和视频RTP负载数据包的头信息。

最后,将音频RTP负载数据包的头信息与音频RTP负载数据包进行拼接,得到音频RTP数据;将视频RTP负载数据包的头信息与视频RTP负载数据包进行拼接,得到视频RTP数据,其中,音频RTP数据和视频RTP数据组成上述RTP数据。其中,预设配置参数包括:目的UDP端口,目的IP地址信息和RTP负载数据的负载类型。

在将TS码流转换成RTP数据之后,就可以向终端设备传输RTP数据包,具体传输步骤包括:

步骤S1084,获取当前时刻的上一时刻解析得到的历史PCR数据包;具体地,通过上述描述可知,目标结果中包括PCR数据包,因此,在传输RTP数据时,可以根据当前时刻的PCR数据和上一时刻的PCR数据来确定当前的网络传输速率,进而,根据当前的网络传输速率动态地对传输量进行调节。

步骤S1085,根据公式timeDelta=(PCR1-PCR0)/(27*1000*1000)计算传输预设数量个TS数据包的时间,其中,PCR1为PCR数据包中的PCR值,PCR0为历史PCR数据包中PCR值,timeDelta为传输预设数量个TS数据包的时间,预设数量为当前时刻传输的PCR数据包与上一时刻传输的PCR数据包之间TS数据包的个数;具体地,可以根据公式timeDelta=(PCR1-PCR0)/(27*1000*1000)计算传输预设数量个TS数据包的时间。

步骤S1086,根据公式bitRate=(packNum*188*8))/timeDelta计算当前时刻的网络传输速率,其中,packNum为所述预设数量,bitRate为网络传输速率;具体地,在计算传输预设数量个TS数据包的时间timeDelta之后,就可以根据公式bitRate=(packNum*188*8))/timeDelta计算网络传输速率。

步骤S1087,按照网络传输速率向终端设备传输RTP数据;具体地,在计算到当前时刻的网络传输速率bitRate之后,就可以根据计算的网络传输对RTP数据进行传输。

实施例2

下面将结合图3对本发明提供的TS码流转换为RTP码流的方法进行说明。

基于本发明实施例的设计实现的转换设备能够实现广电网络和RTP应用网络的连接。本发明提供的音视频TS码流的转换方法的具体流程描述如下:

步骤301,参数配置,即配置上述预设配置参数,具体包括:发送音频和视频的目的IP地址,目的UDP端口和PT(Payload Type:RTP负载类型)。

步骤302,TS接收与同步,即接收广电网络传输的TS码流数据,并对TS码流数据按照上述步骤S102中描述的方法进行同步处理。

具体地,根据TS码流的同步字节0x47和TS包长度188,做TS码流同步处理。每个输入包,校验包头为0x47,包长188后还是同步字节,判断数据同步,以保证能够正常识别TS码流数据包。

步骤303,PSI搜表与获取PCR数据包,即对TS码流数据中的PSI表进行搜表处理,以获取音频和视频流PID、音频和视频的流类型(stream_type)。

PSI搜表过程为:先查找PID为0x00的TS包PAT。在查找到该PAT表之后,对PAT表进行解析,进而根据PAT存储的节目列表,查找到PMT的PID。然后,根据在PAT中查找到的PMT的PID,搜索查找PMT表。并在查找到PMT表后,对PMT表进行解析,以获取到PCR PID、音频PID、视频PID,视频和音频的stream_type,并对数据进行存储。

步骤305,计算系统码率,即根据当前接受到PCR数据包,计算上次PCR数据包与本次PCR数据包之间的TS包个数packNum;然后,解析PCR的TS包获取到PCR值。其中,PCR的计数是基于27MHz时钟计数,两次PCR差值除27MHZ时钟获取传送packNum个TS包的时间。

具体地,可以根据下述公式计算系统码率(也即,网络传输速率):

timeDelta=(PCR1-PCR0)/(27*1000*1000),其中,PCR1为PCR数据包中的PCR值,PCR0为历史PCR数据包中PCR值,timeDelta为传输预设数量个TS数据包的时间,预设数量为当前时刻传输的PCR数据包与上一时刻传输的PCR数据包之间TS数据包的个数;具体地,可以根据公式timeDelta=(PCR1-PCR0)/(27*1000*1000)计算传输预设数量个TS数据包的时间;

bitRate=(packNum*188*8))/timeDelta,packNum为预设数量,bitRate为网络传输速率;具体地,在计算传输预设数量个TS数据包的时间timeDelta之后,就可以根据公式bitRate=(packNum*188*8))/timeDelta计算网络传输速率。

步骤306,TS包拆分重组PES,具体地,根据步骤303中解析得到的音频和视频PID,分别对音频TS数据包和视频TS数据包进行拆分,然后,并对拆分之后音频TS数据包和视频TS数据包进行拼接。根据TS包中的pay_load_start_endicator拼接成音频或视频PES数据包。在本发明实施例中,主要通过TS码流数据包中的pay_load_start_endicator对音频TS数据包和视频TS数据包进行拼接,进而分别得到音频PES数据包和视频PES数据包。其中,pay_load_start_endicator=1表示PES数据包的开始。

步骤307,PES数据包拆分为ES数据,具体地,提取PES数据包的头信息中的PTS数据进行保留,然后,去掉PES数据包的头信息,进而形成ES数据。具体地,PES数据结构如图4所示。

步骤308,PTS转timestamp,也即时间戳转换,以完成MPEG-TS系统的PTS到RTP系统的转换。

由于PTS的时间单位是90KHz,当发送音频包时,需要转换为音频编码采样率48KHz时间;当发送视频包时,两者时间单位都是90KHZ不需要转换。实例中音频采用48KHz。时间转换方式如下:timestamp=(pts/90000)*48000。

步骤309,生成RTP负载数据。每个RTP包最多承载一个ES数据包。ES数据大于一个RTP最大负载长度时,做数据拆分,其中,ES数据拆分完时,记录结束标志。

步骤310,生成RTP包头,具体地,按照标准生成RTP数据的头信息,其中,包头长度固定为12字节。如图5所示为一种可选的RTP数据的头信息,如图5所示,各个字段如下生成:

V(Version)配置为1;

P(padding)配置为0,不使用padding数据节省带宽;

X(extension)配置为0,不使用extension数据;

CC(CSRC count)配置为0,不使用CSRC;

M(marker)配置为0,根据步骤109的结束标志设置,有结束标志设置为1;

PT(payload type)按照配置参数添加;

sequence number:初始为0,后续每生成一个RTP头+1。音频和视频的RTP包有独立sequence number计数;

timestamp:使用步骤108获取timestamp;

SSRC(synchronization source identifier):固定的随机数,初始时生成,以后不变化。音频和视频流有独立的SSRC。

步骤311,拼接RTP头信息和负载数据,按照发送码率控制发送RTP,具体地,根据前端获取的系统码率bitRate,控制发送RTP数据,以保证码流的平稳。

综上,本发明实施例提出了一种音视频TS码流的转换方法,该方法将广播电视领域的音视频流转换为网络点播、视频监控电等领域的音视频流。本发明提出的音视频TS码流的转换方法为广播电视领域与网络视频、视频监控领域之间提供了沟通的桥梁。能够实现把广播电视的高画质高清晰度的视频节目用于网路视频、监控领域提供用户体验。进一步地,本发明实施例提供的音视频TS码流的转换方法,通过码流的格式转换,能够有效节省带宽满足低带宽需求。

本发明实施例还提供了一种TS码流转换为RTP码流的装置,该TS码流转换为RTP码流的装置主要用于执行本发明实施例上述内容所提供的TS码流转换为RTP码流的方法,以下对本发明实施例提供的音TS码流转换为RTP码流的装置做具体介绍。

图6是根据本发明实施例的一种TS码流转换为RTP码流的装置的示意图,如图6所示,该TS码流转换为RTP码流的装置主要包括:第一获取单元61、搜索单元62、拆分单元63和封装传输单元64,其中:

第一获取单元61,用于获取原始TS码流,并对原始TS码流进行同步处理,得到目标TS码流;

搜索单元62,用于对目标TS码流中的PSI表进行搜索,得到目标结果,其中,PSI表用于指示节目说明信息;

拆分单元63,用于根据目标结果对目标TS码流进行拆分,得到ES数据;

封装传输单元64,用于按照实时传输协议标准对ES数据进行封装,封装得到RTP数据包,并按照当前时刻的网络传输速率向终端设备传输RTP数据包。

在本发明实施例中,首先对获取到的原始TS码流进行同步处理,然后,对同步处理之后的目标TS码流进行搜表处理,得到搜索结果,接下来,根据目标结果对目标TS码流进行拆分,得到ES数据,最后,按照实时传输协议标准对ES数据进行封装,得到RTP数据包,在得到RTP数据包之后,就可以通过网络向接收终端传输TS码流。在本发明实施例中,达到了简化数据传输流程的目的,进而解决了现有技术中无法直接将广播电视系统中的数据直接发送至互联网直播系统的技术问题,从而实现了减小网络传输负担的技术效果。

可选地,ES数据包括视频ES数据和音频ES数据,目标结果包括视频TS数据包和音频TS数据包,拆分单元包括:第一确定模块,用于根据视频TS数据包中流类型确定视频PID,以及根据音频TS数据包中流类型确定音频PID;第一拆分模块,用于根据视频PID和PID分别对视频TS数据包和音频TS数据包进行拆分;第一拼接模块,用于对拆分之后的视频TS数据包和音频TS数据包进行拼接,得到视频PES数据包和音频PES数据包;删除模块,用于删除视频PES数据包和音频PES数据包的头信息,得到视频ES数据和音频ES数据。

可选地,拆分单元还包括:提取模块,用于在删除视频PES数据包和音频PES数据包的头信息,得到视频ES数据和音频ES数据之前,分别提取视频PES数据包和音频PES数据包的头信息中的PTS数据,得到第一PTS数据和第二PTS数据;转换模块,用于将第二PTS数据进行时间戳转换,并将第一PTS数据和转换之后的第二PTS数据作为时间信息。

可选地,封装传输单元包括:第二拆分单元,用于对ES数据进行拆分,得到RTP负载数据包,其中,RTP负载数据包的数量至少为一个;生成模块,用于根据预设配置参数和时间信息生成RTP负载数据包的头信息,其中,预设配置参数为RTP数据的传输参数;第二拼接模块,用于将RTP负载数据包的头信息与RTP负载数据包进行拼接,得到RTP数据。

可选地,预设配置参数包括:目的UDP端口,目的IP地址信息和RTP负载数据的负载类型。

可选地,目标结果包括PCR数据包,封装传输单元包括:获取模块,用于获取当前时刻的上一时刻解析得到的历史PCR数据包;第一计算模块,用于根据公式timeDelta=(PCR1-PCR0)/(27*1000*1000)计算传输预设数量个TS数据包的时间,其中,PCR1为PCR数据包中的PCR值,PCR0为历史PCR数据包中PCR值,timeDelta为传输预设数量个TS数据包的时间,预设数量为当前时刻传输的PCR数据包与上一时刻传输的PCR数据包之间TS数据包的个数;第二计算模块,用于根据公式bitRate=(packNum*188*8))/timeDelta计算当前时刻的网络传输速率,其中,packNum为预设数量,bitRate为网络传输速率;按照网络传输速率向终端设备传输RTP数据。

可选地,搜索单元包括:搜索模块,用于在PSI表中搜索节目关联表,其中,节目关联表的PID标识为第一预设标识;第一解析模块,用于对节目关联表进行解析,得到节目映射表,其中,节目映射表的PID标识为第二预设标识;第二解析模块,用于对节目关联表进行解析,得到视频TS数据包、音频TS数据包和PCR数据包。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1