CN106231359B - 基于多数据源动态复用算法的Mpeg TS码流发送方法 - Google Patents

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

Info

Publication number
CN106231359B
CN106231359B CN201610580502.5A CN201610580502A CN106231359B CN 106231359 B CN106231359 B CN 106231359B CN 201610580502 A CN201610580502 A CN 201610580502A CN 106231359 B CN106231359 B CN 106231359B
Authority
CN
China
Prior art keywords
data source
code stream
mpeg
read
packet number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610580502.5A
Other languages
English (en)
Other versions
CN106231359A (zh
Inventor
邓明亮
江维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Jiuzhou Electronic Technology Co Ltd
Original Assignee
Sichuan Jiuzhou Electronic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Jiuzhou Electronic Technology Co Ltd filed Critical Sichuan Jiuzhou Electronic Technology Co Ltd
Priority to CN201610580502.5A priority Critical patent/CN106231359B/zh
Publication of CN106231359A publication Critical patent/CN106231359A/zh
Application granted granted Critical
Publication of CN106231359B publication Critical patent/CN106231359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

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

Description

基于多数据源动态复用算法的Mpeg TS码流发送方法
技术领域
本发明涉及Mpeg TS码流发送应用技术领域,具体涉及一种基于多数据源动态复用算法的Mpeg TS码流发送方法。
背景技术
传统的Mpeg TS码流发送应用主要针对单个TS数据源,发送速率主要根据单个TS数据源的时间戳(如:节目时钟参考等)进行发送。当需要向一个目标(如:Mpeg TS复用器的组播地址)同时发送多个速率相同或不同的TS数据源时,没有现成的技术可以解决这个问题。导致现有的Mpeg TS码流发送技术主要解决单个TS数据源向一个目标发送的问题,无法实现向一个目标同时发送多个速率相同或不同的TS数据源。
发明内容
本发明克服了现有技术的不足,提供一种基于多数据源动态复用算法,并基于此算法实现了将多个速率相同或不同的TS数据源向一个目标同时发送的Mpeg TS码流发送方法。
为解决上述的技术问题,本发明采用以下技术方案:
一种基于多数据源动态复用算法的Mpeg TS码流发送方法,所述的方法包括以下步骤:
步骤一、将各数据源分别存入各数据源独自的缓冲区中;
步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;
步骤三、将各个码流发送片段存入复用缓冲区;
步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。
更进一步的技术方案是所述步骤一中的数据源包括:N个包含Mpeg音视频节目的TS数据源、M个固定发送速率的TS数据源。
更进一步的技术方案是对于N个包含Mpeg音视频节目的TS数据源,根据各自的节目时钟参考与当前时间的比较,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。
更进一步的技术方案是对于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码流发送系统复杂度和整体成本,节约系统建设成本。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (8)

1.一种基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于:
所述的方法包括以下步骤:
步骤一、将各数据源分别存入各数据源独自的缓冲区中;
步骤二、基于预定时间片,根据时间戳同步算法或者固定的发送速率,顺序读取不同数据源中的预定长度数据,然后组装成各个码流发送片段;
步骤三、将各个码流发送片段存入复用缓冲区;
步骤四、发送程序根据预定时间片,读取复用缓冲区中的发送片段,进行发送。
2.根据权利要求1所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于所述的步骤一中的数据源包括:N个包含Mpeg音视频节目的TS数据源、M个固定发送速率的TS数据源。
3.根据权利要求2所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于对于N个包含Mpeg音视频节目的TS数据源,根据各自的节目时钟参考与当前时间的比较,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。
4.根据权利要求2所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于对于M个固定发送速率的TS数据源,根据各自的发送速率,从各自TS数据源的缓冲区中读取预定长度的数据,并与其他数据源的数据复用,然后存入复用缓冲区。
5.根据权利要求1所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于所述的时间戳同步算法是从该TS数据源的缓冲区以平均码率计算出的包数进行读取,在读取过程中检测到该次读取的TS包中的节目时钟参考与当前发送的时间不一致时进行包数调整。
6.根据权利要求5所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于所述的时间戳同步包括:
如果当前时间大于节目时钟参考,采用公式1计算出此次应当读取的包数:
P=S+(T1-T2)*R 公式1;
则此次应当读取的包数P等于码率的包数S加上当前时间T1减去节目时钟参考T2后得到的时间差乘以码率R得到的包数。
7.根据权利要求5所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于所述的时间戳同步包括:
如果当前时间小于或等于节目时钟参考,采用公式2计算出此次应当读取的包数:
P=S-(P1-T2*R) 公式2;
则先计算出此次多读取的包数,多读取的包数等于已经读取的总包数P1减去节目时钟参考T2乘以码率R得到的包数;本次应当读取的包数P等于码率的包数S减去多读取的包数。
8.根据权利要求1所述的基于多数据源动态复用算法的Mpeg TS码流发送方法,其特征在于还包括将数据源的IO耗时操作与发送操作分离步骤,以及复杂算法运算与发送操作分离步骤。
CN201610580502.5A 2016-07-21 2016-07-21 基于多数据源动态复用算法的Mpeg TS码流发送方法 Active CN106231359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610580502.5A CN106231359B (zh) 2016-07-21 2016-07-21 基于多数据源动态复用算法的Mpeg TS码流发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610580502.5A CN106231359B (zh) 2016-07-21 2016-07-21 基于多数据源动态复用算法的Mpeg TS码流发送方法

Publications (2)

Publication Number Publication Date
CN106231359A CN106231359A (zh) 2016-12-14
CN106231359B true CN106231359B (zh) 2019-04-02

Family

ID=57532088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610580502.5A Active CN106231359B (zh) 2016-07-21 2016-07-21 基于多数据源动态复用算法的Mpeg TS码流发送方法

Country Status (1)

Country Link
CN (1) CN106231359B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338862A (zh) * 2000-08-22 2002-03-06 华为技术有限公司 多路复用中节目时钟基准的校正方法
CN1661985A (zh) * 2004-02-25 2005-08-31 华为技术有限公司 一种多媒体码流的码率调整方法
CN1684524A (zh) * 2005-03-16 2005-10-19 西安电子科技大学 Mpeg-2单节目传输流多路复用方法
CN101820540A (zh) * 2009-12-25 2010-09-01 北京惠信博思技术有限公司 一种mpeg-2编码复用的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338862A (zh) * 2000-08-22 2002-03-06 华为技术有限公司 多路复用中节目时钟基准的校正方法
CN1661985A (zh) * 2004-02-25 2005-08-31 华为技术有限公司 一种多媒体码流的码率调整方法
CN1684524A (zh) * 2005-03-16 2005-10-19 西安电子科技大学 Mpeg-2单节目传输流多路复用方法
CN101820540A (zh) * 2009-12-25 2010-09-01 北京惠信博思技术有限公司 一种mpeg-2编码复用的方法

Also Published As

Publication number Publication date
CN106231359A (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
US8218579B2 (en) Self-adaptive jitter buffer adjustment method for packet-switched network
CN104243318B (zh) Vxlan网络中的mac地址学习方法及装置
US9088818B2 (en) Adaptive media delay matching
CN109168059B (zh) 一种在不同设备上分别播放音频与视频的唇音同步方法
CN102932676B (zh) 基于音视频同步的自适应带宽传输和播放方法
US7792153B2 (en) Sequencing multi-source messages for delivery as partial sets to multiple destinations
CN102065231B (zh) 多路数据融合装置及其实现方法、多路音频数据处理系统
US8588242B1 (en) Deficit round robin scheduling using multiplication factors
CN107566918A (zh) 一种视频分发场景下的低延时取流秒开方法
CN103607664B (zh) 一种嵌入式多媒体播放系统的音视频同步方法
CN105898506A (zh) 媒体文件的多屏播放方法和系统
CN104394450B (zh) 一种多媒体帧的处理方法及装置
JP2008160570A (ja) パケット中継方法及び装置
CN107438990B (zh) 用于递送定时信息的方法和设备
MX2022003747A (es) Metodo, dispositivo y sistema de reenvio de paquetes.
CN107479426B (zh) 一种机器人同步表演控制系统及方法
CN101859582A (zh) 一种多个窗口播放音视频的方法和装置
CN106797342B (zh) 视频网络
KR20110067971A (ko) 다중 클럭 동기화 방법 및 그 장치
CN106231359B (zh) 基于多数据源动态复用算法的Mpeg TS码流发送方法
WO2010053347A3 (en) Method to increase network capacity for wireless mesh network
CN106941450B (zh) 一种路由同步方法、设备及通信系统
CN106791908B (zh) 一种支持云平台采用双缓冲的实时视频流存储方法
US8539105B2 (en) System and method for synchronized content rendering in a multi-node network
CN103152134B (zh) 基于rtp协议的接收端重排语音包的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant