基于多数据源动态复用算法的Mpeg TS码流发送方法技术

技术编号:14189458 阅读:165 留言:0更新日期:2016-12-15 01:21
本发明专利技术公开了一种基于多数据源动态复用算法的Mpeg TS码流发送方法,所述的方法包括以下步骤:步骤一、将各数据源分别存入各数据源独自的缓冲区中;步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;步骤三、将各个码流发送片段存入复用缓冲区;步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。使用本发明专利技术技术方案将降低了Mpeg TS码流发送系统复杂度和整体成本,节约系统建设成本。

Mpeg TS code stream transmission method based on multi data source dynamic multiplexing algorithm

The invention discloses a Mpeg TS stream transmission method of multi data source dynamic multiplexing algorithm based on the method comprises the following steps: step one, the data sources are stored in the buffer of each data source alone; step two, based on a predetermined time slice, according to timestamp synchronization algorithm or fixed transmission the rate of sequential reads predetermined length data in different data sources, and then assembled into the stream to send fragments; step three, each stream sent into fragment multiplex buffer; step four, send the program according to the scheduled time, sending a segment read buffer of multiplexing, transmission. Using the technical scheme of the invention will reduce the Mpeg TS stream transmission system complexity and overall cost, saving construction cost system.

【技术实现步骤摘要】

本专利技术涉及Mpeg TS码流发送应用
,具体涉及一种基于多数据源动态复用算法的Mpeg TS码流发送方法
技术介绍
传统的Mpeg TS码流发送应用主要针对单个TS数据源,发送速率主要根据单个TS数据源的时间戳(如:节目时钟参考等)进行发送。当需要向一个目标(如:Mpeg TS复用器的组播地址)同时发送多个速率相同或不同的TS数据源时,没有现成的技术可以解决这个问题。导致现有的Mpeg TS码流发送技术主要解决单个TS数据源向一个目标发送的问题,无法实现向一个目标同时发送多个速率相同或不同的TS数据源。
技术实现思路
本专利技术克服了现有技术的不足,提供一种基于多数据源动态复用算法,并基于此算法实现了将多个速率相同或不同的TS数据源向一个目标同时发送的Mpeg TS码流发送方法。为解决上述的技术问题,本专利技术采用以下技术方案:一种基于多数据源动态复用算法的Mpeg TS码流发送方法,所述的方法包括以下步骤:步骤一、将各数据源分别存入各数据源独自的缓冲区中;步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;步骤三、将各个码流发送片段存入复用缓冲区;步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。更进一步的技术方案是所述步骤一中的数据源包括:N个包含Mpeg音视频节目的TS数据源、N+M个固定发送速率的TS数据源。更进一步的技术方案是对于N个包含Mpeg音视频节目的TS数据源,根据各自的节目时钟参考与当前时间的比较,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。更进一步的技术方案是对于N+M个固定发送速率的TS数据源,根据各自的发送速率,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。更进一步的技术方案是所述时间戳同步算法是从该TS数据源的缓冲区以平均码率计算出的包数进行读取,在读取过程中检测到该次读取的TS包中的节目时钟参考与当前发送的时间不一致时进行包数调整。更进一步的技术方案是所述时间戳同步包括:如果当前时间大于节目时钟参考,采用公式1计算出此次应当读取的包数:P=S+(T1-T2)*R;则此次应当读取的包数P等于码率的包数S加上当前时间T1减去节目时钟参考T2后得到的时间差乘以码率R得到的包数。更进一步的技术方案是所述时间戳同步包括:如果当前时间小于或等于节目时钟参考,采用公式2计算出此次应当读取的包数:P=S-(P1-T2*R);则先计算出此次多读取的包数,多读取的包数等于已经读取的总包数P1减去节目时钟参考T2乘以码率R得到的包数。本次应当读取的包数P等于码率的包数S减去多读取的包数。更进一步的技术方案是还包括将数据源的IO耗时操作与发送操作分离步骤,以及复杂算法运算与发送操作分离步骤。与现有技术相比,本专利技术实施例的有益效果之一是:传统的Mpeg TS码流发送应用每个数据源就需要占用一个目标地址(如:复用器的一个组播地址或者有一个ASI接口),而这些目标地址都是有限的。当需要同时发送数十路、甚至上百路TS码流时,将增加大量的设备,提升系统的复杂度和成本,同时降低了系统的硬件资源利用率。所以,使用本专利技术技术方案将降低了Mpeg TS码流发送系统复杂度和整体成本,节约系统建设成本。附图说明图1为本专利技术一个实施例中基于多数据源动态复用算法流程图。图2为本专利技术一个实施例中时间戳同步算法流程图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。下面结合附图及实施例对本专利技术的具体实施方式进行详细描述。如图1和图2所示,根据本专利技术的一个实施例,本实施例公开一种基于多数据源动态复用算法的Mpeg TS码流发送方法,实现向一个目标同时发送多个速率相同或不同的TS数据源的问题,同时能保证包含Mpeg音视频节目的TS数据源根据节目时钟参考进行发送(速率动态变化),Mpeg解码终端在接收到包含Mpeg音视频节目的TS数据源后可以正常进行Mpeg解码。具体的,本实施例采用多数据源动态复用算法,以及为保证包含Mpeg音视频节目的TS数据源根据节目时钟参考进行发送而设计的时间戳同步算法。同时,为保证码流发送的连续性和较小的抖动,设计了将TS数据源的IO耗时操作与发送操作分离、复杂算法运算与发送操作分离的机制,实现了一种基于多数据源动态复用算法的Mpeg TS码流发送方法。如图1所示,本实施例基于多数据源动态复用算法的Mpeg TS码流发送方法包括以下步骤:步骤一、将各数据源分别存入各数据源独自的缓冲区中;步骤二、基于特定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的特定长度数据,然后组装成各个码流发送片段;步骤三、将各个码流发送片段存入复用缓冲区;步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。其中,TS数据源1到N为包含Mpeg音视频节目的TS数据源。为保证其根据各自的节目时钟参考进行发送,使用了时间同步算法,根据各自的节目时钟参考与当前时间的比较,从各自TS数据源的缓冲区中读取特定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。TS数据源N+1到N+M为固定发送速率的TS数据源。根据各自的发送速率,从各自TS数据源的缓冲区中读取特定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。不同发送速率的数据源可以交替。进一步的,如图2所示,时间戳同步算法的核心思想是从该TS数据源的缓冲区以平均码率计算出的包数进行读取,在读取过程中检测到该次读取的TS包中的节目时钟参考与当前发送的时间不一致时进行包数调整。时间戳同步:分别在读取过快或过慢的情况下进行包数调整。如果当前时间大于节目时钟参考表示读取过慢,采用公式1计算出此次应当读取的包数:P=S+(T1-T2)*R 公式1;则此次应当读取的包数(P)等于码率的包数(S)加上当前时间(T1)减去节目时钟参考(T2)后得到的时间差乘以码率(R)得到的包数。如果当前时间小于或等于节目时钟参考表示读取过快,采用公式2计算出此次应当读取的包数:P=S-(P1-T2*R) 公式2;则先计算出此次多读取的包数,多读取的包数等于已经读取的总包数(P1)减去节目时钟参考(T2)乘以码率(R)得到的包数。本次应当读取的包数(P)等于码率的包数(S)减去多读取的包数。同时,为保证码流发送的连续性和较小的抖动,本实施例的方法还包括将TS数据源的IO耗时操作与发送操作分离步骤,以及复杂算法运算与发送操作分离的步骤。使用本实施例的发送方法降低了Mpeg TS码流发送系统复杂度和整体成本,节约系统建设成本。在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出本文档来自技高网...
基于多数据源动态复用算法的Mpeg TS码流发送方法

【技术保护点】
一种基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于:所述的方法包括以下步骤:步骤一、将各数据源分别存入各数据源独自的缓冲区中;步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;步骤三、将各个码流发送片段存入复用缓冲区;步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。

【技术特征摘要】
1.一种基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于:所述的方法包括以下步骤:步骤一、将各数据源分别存入各数据源独自的缓冲区中;步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;步骤三、将各个码流发送片段存入复用缓冲区;步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。2.根据权利要求1所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于所述的步骤一中的数据源包括:N个包含Mpeg音视频节目的TS数据源、N+M个固定发送速率的TS数据源。3.根据权利要求2所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于对于N个包含Mpeg音视频节目的TS数据源,根据各自的节目时钟参考与当前时间的比较,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。4.根据权利要求2所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于对于N+M个固定发送速率的TS数据源,根据各自的发送速率,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。5.根据权利要...

【专利技术属性】
技术研发人员:邓明亮江维
申请(专利权)人:四川九州电子科技股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1