CN102752669A - 多通道实时流媒体文件的传送处理方法与系统、接收装置 - Google Patents
多通道实时流媒体文件的传送处理方法与系统、接收装置 Download PDFInfo
- Publication number
- CN102752669A CN102752669A CN2011100972419A CN201110097241A CN102752669A CN 102752669 A CN102752669 A CN 102752669A CN 2011100972419 A CN2011100972419 A CN 2011100972419A CN 201110097241 A CN201110097241 A CN 201110097241A CN 102752669 A CN102752669 A CN 102752669A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- packet
- time
- client
- time stamp
- 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.)
- Granted
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 77
- 230000015572 biosynthetic process Effects 0.000 claims description 70
- 230000003139 buffering effect Effects 0.000 claims description 61
- 238000012544 monitoring process Methods 0.000 claims description 32
- 230000001174 ascending effect Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 abstract description 8
- 238000005755 formation reaction Methods 0.000 description 55
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000012467 final product Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种多通道实时流媒体文件的传送处理方法与系统、接收装置,方法包括:客户端针对同一个流媒体节目在L个流媒体通道上接收数据包,N个流媒体服务器的系统时钟一致;在时间变量θ为非空值时,识别数据包上的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ;若不大于,丢弃数据包;若大于,将数据包按照时间戳TS由小到大的顺序保存到对应的缓冲区播放队列中;在TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放。本发明实施例可以实现对多通道传送的实时流媒体文件的同步播放,避免多个画面间不同步的情况。
Description
技术领域
本发明涉及流媒体技术,尤其涉及一种多通道实时流媒体文件的传送处理方法与系统、接收装置。
背景技术
流媒体是指采用流式传输的方式在互联网(Internet)或内联网(Intranet)播放的媒体格式,例如:音频、视频或多媒体文件。流式传输主要指流媒体服务器将整个音频/视频(Audio/Video,以下简称:A/V)、三维图形(three-dimensional,以下简称:3D)等流媒体文件经过特定的压缩方式解析成一个个压缩包,顺序、实时地传送给客户端,通常为用户计算机。用户计算机首先在创建一个缓冲区,在播放流媒体文件前并不下载整个流媒体文件,只下载流媒体文件的开始部分内容存入缓冲区,对数据包进行缓存并使媒体数据正确地输出。流媒体的数据流随时传送随时播放,用户不必像采用下载方式那样等到整个流媒体文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户计算机上利用解压设备对压缩A/V、3D等流媒体文件解压后进行播放和观看,此时流媒体文件的剩余部分将在后台从流媒体服务器继续下载。因此,用户计算机无需下载完整媒体文件即可播放。与单纯的下载方式相比,这种对媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对计算机系统缓存容量的需求也大大降低,极大地减少用户的等待时间。如果计算机网络的连接速度小于流媒体文件播放所需的速度,播放程序就会取用缓冲区内存入的流媒体数据,避免播放中断,使得播放品质得以维持。
流式传输除了能够向客户端传送已经制作完成的流媒体文件外,还可以实时采集现场的音、视频推送到客户端,实时提供给用户。因此,流媒体除了能够更好的承担如下载一样的多媒体点播服务外,更能够应用在现场直播、电视转播、突发事件报道等多种对实时性传输要求较高的领域。
在实际应用中,为了便于用户可以更为完整、真实的了解具体场景,可以采用一个或多个流媒体服务器对同一场景进行多角度拍摄,形成多个实时流媒体文件,并分别通过L个流媒体通道(以下简称:多通道)推送给客户端。例如:通过多角度拍摄一场体育赛事,将不同角度拍摄的多个画面通过多通道传送到客户端。
在实现本发明的过程中,发明人发现,现有技术中多个流媒体服务器通过多通道,将形成的多个实时流媒体文件推送给客户端时,至少存在以下问题:
由于多个流媒体服务器之间存在系统时差,或者多通道的网络传输速度不一致等原因,客户端同时播放多通道的实时流媒体文件时,会出现多个画面间不同步的情况,即:多个实时流媒体文件播放的画面内容不是同一时间的内容,使得用户无法直观、完整、真实的了解具体场景,降低了流媒体业务的业务质量,并导致用户体验下降。
发明内容
本发明实施例所要解决的技术问题是:提供一种多通道实时流媒体文件的传送处理方法与系统、接收装置,以实现对多通道传送的实时流媒体文件的同步播放,避免多个画面间不同步的情况。
为解决上述技术问题,本发明实施例提供的一种多通道实时流媒体文件的传送处理方法,包括:
客户端针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,所述N个流媒体服务器的系统时钟一致,其中,N为大于1的整数,L为不小于N的整数;
所述客户端在预先设置的时间变量θ为非空值时,识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ;
若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,所述客户端丢弃所述数据包;
若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,所述客户端将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;
所述客户端监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;
所述客户端在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放。
本发明实施例提供的一种接收装置,包括:
存储单元,包括L个流媒体通道分别对应的多个缓冲区,以及存储预先设置的时间变量θ,L为大于1的整数;
接收单元,用于针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,所述N个流媒体服务器的系统时钟一致,其中,N为大于1且不大于L的整数;
第一识别单元,用于在所述时间变量θ为非空值时,识别时间戳TS是否大于所述接收装置当前的系统时刻TC与时间变量θ值之和TC+θ;
存储处理单元,用于根据所述第一识别单元的识别结果,若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,丢弃所述数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;
第一监测单元,用于监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;
播放处理单元,用于根据所述第一监测单元的监测结果,在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放。
本发明实施例提供的一种多通道实时流媒体文件的传送处理系统,包括客户端与N个流媒体服务器,所述N个流媒体服务器的系统时钟一致,N为大于1的整数;
所述客户端,用于针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,L为不小于N的整数;在预先设置的时间变量θ为非空值时,识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ;若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,丢弃所述数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放;
所述流媒体服务器,用于对数据包标记时间戳TS后,通过L个流媒体通道中的一个流媒体通道,发送给所述客户端。
基于本发明上述实施例提供的多通道实时流媒体文件的传送处理方法与系统、接收装置,客户端接收到由N个流媒体服务器在L个流媒体通道上发送的同一个流媒体节目数据包时,若预先设置的时间变量θ为非空值,针对接收到的每一个数据包,识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ,在时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ时,丢弃该数据包,否则按照时间戳TS由小到大的顺序保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,形成播放队列,并在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放,在N个流媒体服务器的系统时钟一致的情况下,丢弃超时发送的数据包,并按照客户端时钟依次播放各缓冲区中的播放队列,与现有技术相比,实现了对多通道传送的实时流媒体文件的同步播放,避免了多个流媒体服务器之间存在系统时差、多通道的网络传输速度不一致等原因导致的多个画面间不同步的情况,使得用户可以直观、完整、真实的了解具体场景,提高了流媒体业务的业务质量,提升了用户体验。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明多通道实时流媒体文件的传送处理方法一个实施例的流程图;
图2为本发明多通道实时流媒体文件的传送处理方法另一个实施例的流程图;
图3为本发明多通道实时流媒体文件的传送处理方法一个应用实施例的流程图;
图4为本发明接收装置一个实施例的结构示意图;
图5为本发明接收装置另一个实施例的结构示意图;
图6为本发明接收装置又一个实施例的结构示意图;
图7为本发明多通道实时流媒体文件的传送处理系统一个实施例的结构示意图;
图8为本发明多通道实时流媒体文件的传送处理系统另一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以在对同一场景进行多角度拍摄,形成多通道的实时流媒体文件,并对多个通道的实时流媒体文件进行传送与同步播放。
图1为本发明多通道实时流媒体文件的传送处理方法一个实施例的流程图。如图1所示,该实施例多通道实时流媒体文件的传送处理方法包括:
步骤101,客户端针对同一个流媒体节目在L个流媒体通道上接收数据包,该数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,其中的N个流媒体服务器的系统时钟一致,N为大于1的整数,L为不小于N的整数。
步骤102,客户端在预先设置的时间变量θ为非空值时,识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ。若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤103。否则,若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤104。
步骤103,客户端丢弃数据包。之后,不执行本实施例的后续流程。
步骤104,客户端将数据包保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列。
步骤105,客户端监测系统时刻TC与时间变量θ值之和TC+θ是否达到播放队列中第一个数据包上的时间戳TS。
步骤106,客户端在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放。
基于本发明上述实施例提供的多通道实时流媒体文件的传送处理方法,客户端接收到由N个流媒体服务器在L个流媒体通道上发送的同一个流媒体节目数据包时,若预先设置的时间变量θ为非空值,针对接收到的每一个数据包,识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ,在时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ时,丢弃该数据包,否则按照时间戳TS由小到大的顺序保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,形成播放队列,并在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放,在N个流媒体服务器的系统时钟一致的情况下,丢弃超时发送的数据包,并按照客户端时钟依次播放各缓冲区中的播放队列,实现了对多通道传送的实时流媒体文件的同步播放,避免了多个流媒体服务器之间存在系统时差、多通道的网络传输速度不一致等原因导致的多个画面间不同步的情况,使得用户可以直观、完整、真实的了解具体场景,提高了流媒体业务的业务质量,提升了用户体验。
根据本发明的一个具体实施例,在上述多通道实时流媒体文件的传送处理方法实施例流程之前,可以对N个流媒体服务器的系统时钟进行校准,使该N个流媒体服务器的系统时钟一致。例如:可以通过但不限于如下方式对N个流媒体服务器的系统时钟进行校准:
N个流媒体服务器分别根据同一个网络时间协议(Network TimeProtocol,以下简称:NTP)服务器的系统时钟,对自身的系统时钟进行校准,使得N个流媒体服务器的系统时钟一致;或者,N个流媒体服务器中的N-1个流媒体服务器,分别根据N个流媒体服务器中N-1个流媒体服务器以外的另一个流媒体服务器的系统时钟,对自身的系统时钟进行校准,使得N个流媒体服务器的系统时钟一致。
图2为本发明多通道实时流媒体文件的传送处理方法另一个实施例的流程图。如图2所示,该实施例多通道实时流媒体文件的传送处理方法包括:
步骤201,客户端分别向N个流媒体服务器发送流媒体获取请求,该N个流媒体服务器的系统时钟被校准为一致。其中,N为大于1的整数,
步骤202,分别位于N个流媒体服务器上的L个传输处理单元中的每一个传输处理单元,对流媒体节目进行多角度拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照先后顺序对多个数据包分别标记时间戳TS后通过对应的流媒体通道发送给客户端。其中的时间戳TS为对应的流媒体通道所在流媒体服务器当前的系统时刻。L个流媒体通道与L个传输处理单元一一对应。其中,L为不小于N的整数。
一个流媒体服务器可以承担L个流媒体通道中的一个流媒体通道,也可以承担L个流媒体通道中的多个流媒体通道,由于N个流媒体服务器系统时钟一致,传输处理单元以所在的流媒体服务器的系统时钟作为其工作时钟,也即L个传输处理单元的工作时钟也是一致的。
步骤203,客户端针对同一个流媒体节目在L个流媒体通道上分别接收数据包。并在接收到每一个数据包时,执行步骤204至步骤210的操作,直到接收完成N个流媒体服务器针对客户端发送的流媒体获取请求发送的所有数据包。
步骤204,客户端识别预先设置的时间变量θ是否为非空值。若时间变量θ为非空值,执行步骤208。否则,若时间变量θ为空值,执行步骤205。
可以预先设置时间变量θ的初始值为空值。
步骤205,客户端将数据包保存到传输数据包的流媒体通道对应的缓冲区中的相应位置,缓冲区中的数据包按照时间戳TS由小到大的顺序分别形成播放队列。
根据本发明的另一个具体实施例,客户端可以在执行步骤205的操作之前,预先针对L个流媒体通道分别创建多个缓冲区。
步骤206,客户端识别L个流媒体通道对应的多个缓冲区中,是否均有数据包。若多个缓冲区中均有数据包,执行步骤207。否则,只要L个流媒体通道对应的多个缓冲区中有一个缓冲区没有数据包,不执行本实施例的后续操作。
步骤207,客户端根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予时间变量θ,然后执行步骤211。
步骤208,客户端识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ。若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤209。否则,若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤210。
步骤209,客户端丢弃数据包。之后,不执行本实施例的后续流程。
步骤210,客户端将数据包保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,缓冲区中的数据包按照时间戳TS由小到大的顺序分别形成播放队列。
步骤211,客户端监测系统时刻TC与时间变量θ值之和TC+θ是否达到各播放队列中第一个数据包上的时间戳TS。在系统时刻TC与时间变量θ值之和TC+θ未达到各播放队列中第一个数据包上的时间戳TS时,不执行本实施例的后续流程。在系统时刻TC与时间变量θ值之和TC+θ达到某一个播放队列中第一个数据包上的时间戳TS时,执行步骤212。
步骤212,客户端依次对该某一个播放队列中的数据包进行解压、解码、播放,每个画面分别对应一个流媒体通道。
根据本发明的又一个具体实施例,在上述图2所示的实施例的步骤207中,客户端可以通过如下方式,根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值:
比较多个缓冲区中第一个数据包上的时间戳TS;
选取多个缓冲区中第一个数据包上数值最小的时间戳TSmin;
获取数值最小的时间戳TSmin与系统时刻TC之间的差值TSmin-TC,以差值TSmin-TC作为时间变量θ值。
进一步地,根据本发明的再一个具体实施例,在本发明上述各多通道实时流媒体文件的传送处理方法实施例中,客户端还可以监测L个流媒体通道上数据包的丢弃情况,在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,分别统计L个流媒体通道上数据包的丢包率,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,结束该某一个流媒体通道的会话连接,然后重新向该某一个流媒体通道对应的流媒体服务器发送重新获取请求,从而跳过过时的数据包,以便某一个流媒体通道对应的传输处理单元重新开始执行步骤202的操作,对流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包分别标记时间戳TS后通过对应的流媒体通道发送给客户端。
图3为本发明多通道实时流媒体文件的传送处理方法一个应用实施例的流程图。该应用实施例以两个流媒体服务器A、B包括3个传输处理单元11、12、13为例进行说明。其中,流媒体服务器A包括传输处理单元11与传输处理单元12,相应承担流媒体通道21与流媒体通道22,流媒体服务器B包括传输处理单元13,相应承担流媒体通道23。流媒体通道21、22、23分别为3个实时流媒体的源,每个传输处理单元可以理解为媒体采集、编码和流输出的集合体,客户端代表所有接收实时流媒体文件的客户端,可以理解为流媒体文件接收、解码和播放的集合体。该应用实施例中,NTP服务器具体支持RFC1305中第三版本NTP(以下简称:NTPv3)标准协议,如图3所示,该应用实施例包括以下流程:
步骤301,流媒体服务器A、B分别通过NTP协议,向NTP服务器发送查询时间请求。
步骤302,NTP服务器分别向流媒体服务器A、B返回查询时间响应,该查询时间响应中包括NTP服务器的即时系统时刻信息。
步骤303,流媒体服务器A、B根据查询时间响应中的即时系统时刻信息,校正自身系统时钟,使之分别与NTP服务器的系统时钟一致,这样,流媒体服务器A与流媒体服务器B的系统时钟一致,此时,由于传输处理单元11、12、13分别采用所在流媒体服务器的系统时钟作为自身的工作时钟,传输处理单元11、12、13的工作时钟一致。
步骤304,客户端分别向流媒体服务器A与流媒体服务器B发送流媒体获取请求。
步骤305,传输处理单元11、12、13开始对同场景进行多角度的拍摄采集、编码,得到流媒体文件,将通过对应的流媒体通道21、22、23传输的流媒体文件压缩成多个数据包,并按照先后顺序对多个数据包分别标记时间戳TS后,分别通过对应的流媒体通道21、22、23发送给客户端。其中的时间戳TS为对应的流媒体通道21、22、23所在流媒体服务器当前的系统时刻。
步骤306,客户端同时在流媒体通道21、22、23上接收流媒体数据包。并在接收到每一个数据包时,执行步骤307至步骤313的操作,直到接收完成流媒体服务器A、B针对客户端发送的流媒体获取请求发送的所有数据包。
步骤307,客户端识别预先设置的时间变量θ是否为非空值。若时间变量θ为非空值,执行步骤311。否则,若时间变量θ为空值,执行步骤308。
预先设置时间变量θ的初始值为空值。
步骤308,客户端将数据包保存到传输该数据包的流媒体通道21、流媒体通道22、或流媒体通道23对应的缓冲区31、缓冲区32、或缓冲区33中的相应位置,缓冲区31、32、33中的数据包按照时间戳TS由小到大的顺序分别形成播放队列41、42、43。
步骤309,客户端识别缓冲区31、32、33中是否均有数据包。若缓冲区31、32、33中均有数据包,执行步骤310。否则,只要缓冲区31、32、33中有一个缓冲区没有数据包,不执行本实施例的后续操作。
步骤310,客户端比较缓冲区31、32、33中第一个数据包上的时间戳TS,选取多个缓冲区中第一个数据包上数值最小的时间戳TSmin,获取数值最小的时间戳TSmin与系统时刻TC之间的差值TSmin-TC,将差值TSmin-TC赋予时间变量θ,然后执行步骤314。
步骤311,客户端识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ。若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤312。否则,若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,执行步骤313。
步骤312,客户端丢弃数据包。之后,不执行本实施例的后续流程。
步骤313,客户端将数据包保存到传输该数据包的流媒体通道21、流媒体通道22、或流媒体通道23对应的缓冲区31、缓冲区32、或缓冲区33中的相应位置,缓冲区31、32、33中的数据包按照时间戳TS由小到大的顺序分别形成播放队列41、42、43。
步骤314,客户端针对每一个播放队列41、42、43,监测系统时刻TC与时间变量θ值之和TC+θ是否达到各播放队列中第一个数据包上的时间戳TS。在系统时刻TC与时间变量θ值之和TC+θ未达到各播放队列中第一个数据包上的时间戳TS时,不执行本实施例的后续流程。在系统时刻TC与时间变量θ值之和TC+θ达到某一个播放队列中第一个数据包上的时间戳TS时,执行步骤315。
步骤315,客户端将该某一个播放队列中的数据包依次送到解码器进行解压、解码、播放,客户端最终输出画面51、52、53,分别对应流媒体通道21、22、23。
在图3所示实施例的流程中,若由于网络原因,例如:网速较慢,导致客户端接收到的流媒体通道22上的数据包因TS≤TC+θ值之和TC+θ而被连续丢弃,客户端结束流媒体通道22的会话连接,停止在该流媒体通道22上接收流媒体数据包,重新向流媒体服务器A发送基于流媒体通道22的流媒体获取请求,并重新在流媒体通道22上接收最新的流媒体数据包,即:可跳过流媒体通道22上过时的数据包,接收最新的实时流媒体数据,避免不断重复接收过时数据包、不断丢弃而导致的无法正常播放、与其它流媒体通道对应的播放画面不同步的问题。
图4为本发明接收装置一个实施例的结构示意图。该实施例的接收装置可用于实现本发明上述各多通道实时流媒体文件的传送处理方法中客户端的相应功能。如图4所示,其包括存储单元401、接收单元402、第一识别单元403、存储处理单元404、第一监测单元405与播放处理单元406。
其中,存储单元401包括L个流媒体通道分别对应的多个缓冲区,以及存储预先设置的时间变量θ,其中,L为大于1的整数。
接收单元402用于针对同一个流媒体节目在L个流媒体通道上接收数据包,该数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,N个流媒体服务器的系统时钟一致,其中,N为大于1且不大于L的整数。
第一识别单元403用于在存储单元401中的时间变量θ为非空值时,识别接收单元402接收到的数据包中的时间戳TS是否大于接收装置当前的系统时刻TC与时间变量θ值之和TC+θ。
存储处理单元404用于根据第一识别单元403的识别结果,若数据包中的时间戳TS不大于接收装置当前的系统时刻TC与时间变量θ值之和TC+θ,丢弃该数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将数据包保存到存储单元401中传输该数据包的流媒体通道对应的缓冲区中的相应位置,缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列。
第一监测单元405用于监测系统时刻TC与时间变量θ值之和TC+θ是否达到存储单元401的各播放队列中第一个数据包上的时间戳TS。
播放处理单元406用于根据第一监测单元405的监测结果,在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对存储单元401中该播放队列中的数据包进行解压、解码、播放。
基于本发明上述实施例提供的接收装置,接收到由N个流媒体服务器在L个流媒体通道上发送的同一个流媒体节目数据包时,若预先设置的时间变量θ为非空值,针对接收到的每一个数据包,识别数据包中的时间戳TS是否大于接收装置当前的系统时刻TC与时间变量θ值之和TC+θ,在时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ时,丢弃该数据包,否则按照时间戳TS由小到大的顺序保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,形成播放队列,并在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放,在N个流媒体服务器的系统时钟一致的情况下,丢弃超时发送的数据包,并按照接收装置时钟依次播放各缓冲区中的播放队列,实现了对多通道传送的实时流媒体文件的同步播放,避免了多个流媒体服务器之间存在系统时差、多通道的网络传输速度不一致等原因导致的多个画面间不同步的情况,使得用户可以直观、完整、真实的了解具体场景,提高了流媒体业务的业务质量,提升了用户体验。
图5为本发明接收装置另一个实施例的结构示意图。该实施例的接收装置可用于实现本发明上述图2所示实施例中客户端的相应功能。参见图5,与图4所示的实施例相比,该实施例的接收装置还包括发送单元407,用于分别向N个流媒体服务器发送流媒体获取请求,N个流媒体服务器包括L个传输处理单元,该L个传输处理单元分别对应上述图4所示实施例中的L个传输处理单元流媒体通道。
进一步地,再参见图5,作为本发明接收装置的又一个实施例,还可以包括第二识别单元408、第三识别单元409与获取单元410。其中,第二识别单元408用于响应于接收单元402接收到数据包,识别存储单元401中存储的时间变量θ是否为非空值。相应的,第一识别单元403具体根据第二识别单元408的识别结果,在存储单元401中存储的时间变量θ为非空值时,识别接收单元402接收到的数据包中的时间戳TS是否大于接收装置当前的系统时刻TC与时间变量θ值之和TC+θ;在时间变量θ为空值时,指示存储处理单元404将该数据包保存到存储单元401中传输数据包的流媒体通道对应的缓冲区中的相应位置。存储处理单元404还用于根据第一识别单元403的指示,将数据包保存到存储单元401中传输数据包的流媒体通道对应的缓冲区中的相应位置。第三识别单元409用于在存储处理单元404将数据包保存到传输数据包的流媒体通道对应的缓冲区中的相应位置后,识别存储单元401中L个流媒体通道对应的多个缓冲区中是否均有数据包。获取单元410用于根据第三识别单元409的识别结果,在多个缓冲区中均有数据包时,根据存储单元401中多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予时间变量θ,然后指示第一监测单元405监测系统时刻TC与时间变量θ值之和TC+θ是否达到播放队列中第一个数据包上的时间戳TS。
图6为本发明接收装置又一个实施例的结构示意图。该实施例的接收装置也可用于实现本发明上述各多通道实时流媒体文件的传送处理方法中客户端的相应功能。参见图6,与图5所示的实施例相比,该实施例的接收装置还包括第二监测单元411、统计单元412与会话处理单元413。其中,第二监测单元411用于监测存储处理单元404对L个流媒体通道上数据包的丢弃情况。统计单元412用于根据第二监测单元411的监测结果,分别统计L个流媒体通道上数据包的丢包率,并统计每一个流媒体通道上传输的数据包的丢包率。会话处理单元413用于根据第二监测单元411的监测结果,在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,根据统计单元412的统计结果,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,指示接收单元402结束该某一个流媒体通道的会话连接,并指示发送单元407重新向该某一个流媒体通道对应的流媒体服务器发送重新获取请求,以便某一个流媒体通道对应的传输处理单元对流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过当前流媒体通道发送给接收单元,其中的时间戳TS为当前流媒体通道所在流媒体服务器当前的系统时刻。
图7为本发明多通道实时流媒体文件的传送处理系统一个实施例的结构示意图。该实施例多通道实时流媒体文件的传送处理系统可用于实现本发明上述各多通道实时流媒体文件的传送处理方法的流程。如图7所示,其包括客户端1与N个流媒体服务器2,该N个流媒体服务器的系统时钟一致,其中,N为大于1的整数。
其中,客户端1用于针对同一个流媒体节目在L个流媒体通道上接收数据包,该数据包由N个流媒体服务器2中的一个流媒体服务器2打上时间戳TS后发送,L为不小于N的整数。在预先设置的时间变量θ为非空值时,识别接收到的数据包中的时间戳TS是否大于客户端1当前的系统时刻TC与时间变量θ值之和TC+θ。若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,丢弃该数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将该数据包保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列。以及监测系统时刻TC与时间变量θ值之和TC+θ是否达到播放队列中第一个数据包上的时间戳TS。在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放。
流媒体服务器2用于对数据包标记时间戳TS后,通过L个流媒体通道中的一个流媒体通道,发送给客户端1。
基于本发明上述实施例提供的多通道实时流媒体文件的传送处理系统,客户端接收到由N个流媒体服务器在L个流媒体通道上发送的同一个流媒体节目数据包时,若预先设置的时间变量θ为非空值,针对接收到的每一个数据包,识别数据包中的时间戳TS是否大于客户端当前的系统时刻TC与时间变量θ值之和TC+θ,在时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ时,丢弃该数据包,否则按照时间戳TS由小到大的顺序保存到传输该数据包的流媒体通道对应的缓冲区中的相应位置,形成播放队列,并在系统时刻TC与时间变量θ值之和TC+θ达到播放队列中第一个数据包上的时间戳TS时,依次对播放队列中的数据包进行解压、解码、播放,在N个流媒体服务器的系统时钟一致的情况下,丢弃超时发送的数据包,并按照客户端时钟依次播放各缓冲区中的播放队列,实现了对多通道传送的实时流媒体文件的同步播放,避免了多个流媒体服务器之间存在系统时差、多通道的网络传输速度不一致等原因导致的多个画面间不同步的情况,使得用户可以直观、完整、真实的了解具体场景,提高了流媒体业务的业务质量,提升了用户体验。
另外,作为本发明的一个具体实施例,与本发明上述方法实施例相应的,客户端1还可以用于分别向N个流媒体服务器2发送流媒体获取请求。N个流媒体服务器2共包括L个流媒体通道对应的L个传输处理单元,该L个传输处理单元中的每一个传输处理单元,对流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过当前流媒体通道发送给客户端1,其中的时间戳TS为当前流媒体通道所在流媒体服务器2当前的系统时刻。
作为本发明的另一个具体实施例,与本发明上述方法实施例相应的,客户端1还可以用于识别预先设置的时间变量θ是否为非空值;在时间变量θ为非空值时,执行识别时间戳TS是否大于客户端1当前的系统时刻TC与时间变量θ值之和TC+θ的操作;在时间变量θ为空值时,将数据包保存到传输数据包的流媒体通道对应的缓冲区中的相应位置,并识别L个流媒体通道对应的多个缓冲区中,是否均有数据包;在多个缓冲区中均有数据包时,根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予时间变量θ,然后开始执行监测系统时刻TC与时间变量θ值之和TC+θ是否达到播放队列中第一个数据包上的时间戳TS的操作。
作为本发明的另一个具体实施例,与本发明上述方法实施例相应的,客户端1还可以用于监测L个流媒体通道上数据包的丢弃情况;在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,分别统计L个流媒体通道上数据包的丢包率,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,结束该某一个流媒体通道的会话连接,然后重新向该某一个流媒体通道对应的流媒体服务器2发送重新获取请求。相应的,对应的流媒体服务器2还用于通过该某一个流媒体通道对应的传输处理单元,重新对流媒体节目进行拍摄采集、编码,得到流媒体文件,将该某一个流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过该某一个流媒体通道发送给客户端1,其中的时间戳TS为对应的流媒体服务器2当前的系统时刻。
另外,在本发明上述各实施例的多通道实时流媒体文件的传送处理系统中,N个流媒体服务器2中的N-1个流媒体服务器2,还可以用于分别根据N个流媒体服务器2中N-1个流媒体服务器2以外的另一个流媒体服务器2的系统时钟,对自身的系统时钟进行校准,使得N个流媒体服务器2的系统时钟一致。或者,再参见图7,本发明实施例多通道实时流媒体文件的传送处理系统还可以包括NTP服务器3,用于提供参考系统时钟。相应的,N个流媒体服务器2还用于分别根据NTP服务器3的系统时钟,对自身的系统时钟进行校准,使得N个流媒体服务器2的系统时钟一致。
在本发明上述各实施例的多通道实时流媒体文件的传送处理系统中,客户端1具体可以通过图4至图6所示任一实施例的接收装置实现。如图8所示,为本发明多通道实时流媒体文件的传送处理系统另一个实施例的结构示意图。该实施例中,客户端1具体采用了图6所示实施例的结构。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例实现了对多通道传送的实时流媒体文件的同步播放,避免了多个流媒体服务器之间存在系统时差、多通道的网络传输速度不一致等原因导致的多个画面间不同步的情况,使得用户可以直观、完整、真实的了解具体场景,提高了流媒体业务的业务质量,提升了用户体验;
对流媒体服务改动较小,所需成本较低;
不受流媒体传输控制协议的限制,可适用于各种流媒体传输控制协议,例如,实时流协议(Real Time Streaming Protocol,以下简称:RTSP)、实时传输协议(Real Time Protocol,以下简称:RTP)、实时消息传送协议((Real Time Messaging Protocol,以下简称:RTMP)等,或者其它专用的私有协议;
在不考虑客户端自身软硬件解码能力差异的情况下,基于现有的计时精度,可以将客户端播放的多通道的画面同步精度控制在500ms以内。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (17)
1.一种多通道实时流媒体文件的传送处理方法,其特征在于,包括:
客户端针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,所述N个流媒体服务器的系统时钟一致,其中,N为大于1的整数,L为不小于N的整数;
所述客户端在预先设置的时间变量θ为非空值时,识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ;
若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,所述客户端丢弃所述数据包;
若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,所述客户端将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;
所述客户端监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;
所述客户端在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放。
2.根据权利要求1所述的方法,其特征在于,所述客户端针对同一个流媒体节目在L个流媒体通道上接收数据包之前,还包括:
所述客户端分别向所述N个流媒体服务器发送流媒体获取请求,所述L个流媒体通道对应的L个传输处理单元分别位于所述N个流媒体服务器上;
所述L个传输处理单元中的每一个传输处理单元,对所述流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过当前流媒体通道发送给所述客户端,所述时间戳TS为当前流媒体通道所在流媒体服务器当前的系统时刻。
3.根据权利要求2所述的方法,其特征在于,所述客户端针对同一个流媒体节目在L个流媒体通道上接收数据包之后,还包括:
所述客户端识别所述时间变量θ是否为非空值;
在所述时间变量θ为非空值时,执行所述识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ的操作;
在所述时间变量θ为空值时,所述客户端将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置;
所述客户端识别L个流媒体通道对应的多个缓冲区中,是否均有数据包;
在多个缓冲区中均有数据包时,所述客户端根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予所述时间变量θ,然后执行所述客户端监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS的操作。
4.根据权利要求3所述的方法,其特征在于,根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值包括:
比较多个缓冲区中第一个数据包上的时间戳TS;
选取多个缓冲区中第一个数据包上数值最小的时间戳TSmin;
获取数值最小的时间戳TSmin与系统时刻TC之间的差值TSmin-TC,以差值TSmin-TC作为时间变量θ值。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述客户端针对同一个流媒体节目在L个流媒体通道上接收数据包之前,还包括:
所述客户端针对L个流媒体通道分别创建多个缓冲区。
6.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
所述客户端监测L个流媒体通道上数据包的丢弃情况;
所述客户端在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,分别统计L个流媒体通道上数据包的丢包率,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,结束该某一个流媒体通道的会话连接,然后重新向该某一个流媒体通道对应的流媒体服务器发送重新获取请求,以便所述某一个流媒体通道对应的传输处理单元重新执行对所述流媒体节目进行拍摄采集、编码的操作。
7.根据权利要求1至4任意一项所述的方法,所述客户端针对同一个流媒体节目在L个流媒体通道上接收数据包之前,还包括:
所述N个流媒体服务器分别根据同一个网络时间协议NTP服务器的系统时钟,对自身的系统时钟进行校准,使得所述N个流媒体服务器的系统时钟一致;
或者,所述N个流媒体服务器中的N-1个流媒体服务器,分别根据所述N个流媒体服务器中N-1个流媒体服务器以外的另一个流媒体服务器的系统时钟,对自身的系统时钟进行校准,使得所述N个流媒体服务器的系统时钟一致。
8.一种接收装置,其特征在于,包括:
存储单元,包括L个流媒体通道分别对应的多个缓冲区,以及存储预先设置的时间变量θ,L为大于1的整数;
接收单元,用于针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,所述N个流媒体服务器的系统时钟一致,其中,N为大于1且不大于L的整数;
第一识别单元,用于在所述时间变量θ为非空值时,识别时间戳TS是否大于所述接收装置当前的系统时刻TC与时间变量θ值之和TC+θ;
存储处理单元,用于根据所述第一识别单元的识别结果,若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,丢弃所述数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;
第一监测单元,用于监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;
播放处理单元,用于根据所述第一监测单元的监测结果,在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放。
9.根据权利要求8所述的装置,其特征在于,还包括:
发送单元,用于分别向所述N个流媒体服务器发送流媒体获取请求,所述L个流媒体通道对应的L个传输处理单元分别位于所述N个流媒体服务器上。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二识别单元,用于响应于所述接收单元接收到数据包,识别所述时间变量θ是否为非空值;
所述第一识别单元具体根据所述第二识别单元的识别结果,在预先设置的时间变量θ为非空值时,识别时间戳TS是否大于所述接收装置当前的系统时刻TC与时间变量θ值之和TC+θ;在所述时间变量θ为空值时,指示所述存储处理单元将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置;
所述存储处理单元还用于根据所述第一识别单元的指示,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置;
第三识别单元,用于在所述存储处理单元将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置后,识别L个流媒体通道对应的多个缓冲区中是否均有数据包;
获取单元,用于根据所述第三识别单元的识别结果,在多个缓冲区中均有数据包时,根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予所述时间变量θ,然后指示所述第一监测单元监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS。
11.根据权利要求9或10所述的装置,其特征在于,还包括:
第二监测单元,用于监测所述存储处理单元对L个流媒体通道上数据包的丢弃情况;
统计单元,用于分别统计L个流媒体通道上数据包的丢包率,并统计每一个流媒体通道上传输的数据包的丢包率;
会话处理单元,用于根据所述第二监测单元的监测结果,在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,根据所述统计单元的统计结果,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,指示所述接收单元结束该某一个流媒体通道的会话连接,并指示所述发送单元重新向该某一个流媒体通道对应的流媒体服务器发送重新获取请求,以便所述某一个流媒体通道对应的传输处理单元对所述流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过当前流媒体通道发送给所述接收单元,所述时间戳TS为当前流媒体通道所在流媒体服务器当前的系统时刻。
12.一种多通道实时流媒体文件的传送处理系统,其特征在于,包括客户端与N个流媒体服务器,所述N个流媒体服务器的系统时钟一致,N为大于1的整数;
所述客户端,用于针对同一个流媒体节目在L个流媒体通道上接收数据包,所述数据包由N个流媒体服务器中的一个流媒体服务器打上时间戳TS后发送,L为不小于N的整数;在预先设置的时间变量θ为非空值时,识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ;若时间戳TS不大于系统时刻TC与时间变量θ值之和TC+θ,丢弃所述数据包;若时间戳TS大于系统时刻TC与时间变量θ值之和TC+θ,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,所述缓冲区中的数据包按照时间戳TS由小到大的顺序形成播放队列;监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS;在系统时刻TC与时间变量θ值之和TC+θ达到所述播放队列中第一个数据包上的时间戳TS时,依次对所述播放队列中的数据包进行解压、解码、播放;
所述流媒体服务器,用于对数据包标记时间戳TS后,通过L个流媒体通道中的一个流媒体通道,发送给所述客户端。
13.根据权利要求12所述的系统,其特征在于,所述客户端还用于分别向所述N个流媒体服务器发送流媒体获取请求;
所述N个流媒体服务器共包括L个流媒体通道对应的L个传输处理单元,所述L个传输处理单元中的每一个传输处理单元,对所述流媒体节目进行拍摄采集、编码,得到流媒体文件,将当前流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过当前流媒体通道发送给所述客户端,所述时间戳TS为当前流媒体通道所在流媒体服务器当前的系统时刻。
14.根据权利要求13所述的系统,其特征在于,所述客户端还用于识别所述时间变量θ是否为非空值;在所述时间变量θ为非空值时,执行所述识别时间戳TS是否大于所述客户端当前的系统时刻TC与时间变量θ值之和TC+θ的操作;在所述时间变量θ为空值时,将所述数据包保存到传输所述数据包的流媒体通道对应的缓冲区中的相应位置,并识别L个流媒体通道对应的多个缓冲区中,是否均有数据包;在多个缓冲区中均有数据包时,根据多个缓冲区中第一个数据包上的时间戳TS获取时间变量θ值,并将时间变量θ值赋予所述时间变量θ,然后开始执行监测系统时刻TC与时间变量θ值之和TC+θ是否达到所述播放队列中第一个数据包上的时间戳TS的操作。
15.根据权利要求14所述的系统,其特征在于,所述客户端还用于监测L个流媒体通道上数据包的丢弃情况;在L个流媒体通道中某一个流媒体通道上传输的连续M个数据包均被丢弃时,或者,分别统计L个流媒体通道上数据包的丢包率,在某一个流媒体通道上传输的数据包的丢包率达到预设丢包阈值时,结束该某一个流媒体通道的会话连接,然后重新向所述某一个流媒体通道对应的流媒体服务器发送重新获取请求;
所述对应的流媒体服务器还用于通过某一个流媒体通道对应的传输处理单元,重新对所述流媒体节目进行拍摄采集、编码,得到流媒体文件,将所述某一个流媒体通道传输的流媒体文件压缩成多个数据包,并按照顺序对多个数据包标记时间戳TS后通过所述某一个流媒体通道发送给所述客户端,所述时间戳TS为所述对应的流媒体服务器当前的系统时刻。
16.根据权利要求12所述的系统,其特征在于,所述N个流媒体服务器中的N-1个流媒体服务器,还用于分别根据所述N个流媒体服务器中N-1个流媒体服务器以外的另一个流媒体服务器的系统时钟,对自身的系统时钟进行校准,使得所述N个流媒体服务器的系统时钟一致;或者
所述系统还包括NTP服务器,用于提供参考系统时钟;
所述N个流媒体服务器,还用于分别根据所述NTP服务器的系统时钟,对自身的系统时钟进行校准,使得所述N个流媒体服务器的系统时钟一致。
17.根据权利要求12至16任意一项所述的系统,其特征在于,所述客户端具体为权利要求8至11任意一项所述的接收装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110097241.9A CN102752669B (zh) | 2011-04-19 | 2011-04-19 | 多通道实时流媒体文件的传送处理方法与系统、接收装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110097241.9A CN102752669B (zh) | 2011-04-19 | 2011-04-19 | 多通道实时流媒体文件的传送处理方法与系统、接收装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752669A true CN102752669A (zh) | 2012-10-24 |
CN102752669B CN102752669B (zh) | 2015-09-16 |
Family
ID=47032530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110097241.9A Active CN102752669B (zh) | 2011-04-19 | 2011-04-19 | 多通道实时流媒体文件的传送处理方法与系统、接收装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752669B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
CN104702582A (zh) * | 2013-12-10 | 2015-06-10 | 乐视网信息技术(北京)股份有限公司 | 一种数据传输方法及装置 |
WO2016101453A1 (zh) * | 2014-12-22 | 2016-06-30 | 中兴通讯股份有限公司 | 一种压缩时间戳的方法和装置 |
CN106911589A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
CN106997620A (zh) * | 2016-01-26 | 2017-08-01 | 滴滴(中国)科技有限公司 | 基于gps数据点的计费方法和装置 |
CN106998478A (zh) * | 2017-03-15 | 2017-08-01 | 青岛海信电器股份有限公司 | 一种用于智能电视当前播放列表的偏移校正方法和装置 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN108173897A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 请求消息处理方法及装置 |
CN109011507A (zh) * | 2018-07-13 | 2018-12-18 | 辽宁江多科技有限公司 | 健身用计数计秒器及计数计秒方法 |
CN109743397A (zh) * | 2019-01-11 | 2019-05-10 | 广东省气象公共服务中心(广东气象影视宣传中心) | 海上信息预警系统、方法及电子设备 |
CN109769124A (zh) * | 2018-12-13 | 2019-05-17 | 广州华多网络科技有限公司 | 混流方法、装置、电子设备及存储介质 |
CN111107166A (zh) * | 2019-12-31 | 2020-05-05 | 奇安信科技集团股份有限公司 | 会话同步方法、装置、电子设备和介质 |
CN111381792A (zh) * | 2020-03-12 | 2020-07-07 | 上海曼恒数字技术股份有限公司 | 一种支持多人协同的虚拟现实数据传输方法及系统 |
US11449908B2 (en) | 2015-07-29 | 2022-09-20 | Beijing Didi Infinity Technology And Development Co., Ltd. | Method and system for determining transport service fee |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852431A (zh) * | 2005-12-23 | 2006-10-25 | 华为技术有限公司 | 实现实时视频信息共享的系统及方法 |
CN101075948A (zh) * | 2006-05-15 | 2007-11-21 | 中兴通讯股份有限公司 | 一种实现实时流媒体节目可靠传输的方法 |
WO2010020843A1 (en) * | 2008-07-16 | 2010-02-25 | Nokia Corporation | Method and apparatus for peer to peer streaming |
WO2010049312A1 (en) * | 2008-10-30 | 2010-05-06 | Thomson Licensing | Data container for transferring high resolution audio/video data in a high speed ip network |
CN101951387A (zh) * | 2010-09-30 | 2011-01-19 | 海信集团有限公司 | 流媒体传输方法及装置 |
-
2011
- 2011-04-19 CN CN201110097241.9A patent/CN102752669B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852431A (zh) * | 2005-12-23 | 2006-10-25 | 华为技术有限公司 | 实现实时视频信息共享的系统及方法 |
CN101075948A (zh) * | 2006-05-15 | 2007-11-21 | 中兴通讯股份有限公司 | 一种实现实时流媒体节目可靠传输的方法 |
WO2010020843A1 (en) * | 2008-07-16 | 2010-02-25 | Nokia Corporation | Method and apparatus for peer to peer streaming |
WO2010049312A1 (en) * | 2008-10-30 | 2010-05-06 | Thomson Licensing | Data container for transferring high resolution audio/video data in a high speed ip network |
CN101951387A (zh) * | 2010-09-30 | 2011-01-19 | 海信集团有限公司 | 流媒体传输方法及装置 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702582A (zh) * | 2013-12-10 | 2015-06-10 | 乐视网信息技术(北京)股份有限公司 | 一种数据传输方法及装置 |
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
WO2016101453A1 (zh) * | 2014-12-22 | 2016-06-30 | 中兴通讯股份有限公司 | 一种压缩时间戳的方法和装置 |
CN105791228A (zh) * | 2014-12-22 | 2016-07-20 | 中兴通讯股份有限公司 | 一种压缩时间戳的方法和装置 |
CN105791228B (zh) * | 2014-12-22 | 2019-12-03 | 中兴通讯股份有限公司 | 一种压缩时间戳的方法和装置 |
US11449908B2 (en) | 2015-07-29 | 2022-09-20 | Beijing Didi Infinity Technology And Development Co., Ltd. | Method and system for determining transport service fee |
CN106911589A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
CN106911589B (zh) * | 2015-12-22 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
US11055272B2 (en) | 2015-12-22 | 2021-07-06 | Alibaba Group Holding Limited | Data processing method and apparatus |
CN106997620A (zh) * | 2016-01-26 | 2017-08-01 | 滴滴(中国)科技有限公司 | 基于gps数据点的计费方法和装置 |
CN108173897A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 请求消息处理方法及装置 |
CN108173897B (zh) * | 2016-12-07 | 2020-09-08 | 北京云中融信网络科技有限公司 | 请求消息处理方法及装置 |
CN106998478A (zh) * | 2017-03-15 | 2017-08-01 | 青岛海信电器股份有限公司 | 一种用于智能电视当前播放列表的偏移校正方法和装置 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN107371061B (zh) * | 2017-08-25 | 2021-03-19 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN109011507A (zh) * | 2018-07-13 | 2018-12-18 | 辽宁江多科技有限公司 | 健身用计数计秒器及计数计秒方法 |
CN109769124A (zh) * | 2018-12-13 | 2019-05-17 | 广州华多网络科技有限公司 | 混流方法、装置、电子设备及存储介质 |
CN109743397A (zh) * | 2019-01-11 | 2019-05-10 | 广东省气象公共服务中心(广东气象影视宣传中心) | 海上信息预警系统、方法及电子设备 |
CN109743397B (zh) * | 2019-01-11 | 2022-09-23 | 广东省气象公共服务中心(广东气象影视宣传中心) | 海上信息预警系统、方法及电子设备 |
CN111107166B (zh) * | 2019-12-31 | 2022-05-17 | 奇安信科技集团股份有限公司 | 会话同步方法、装置、电子设备和介质 |
CN111107166A (zh) * | 2019-12-31 | 2020-05-05 | 奇安信科技集团股份有限公司 | 会话同步方法、装置、电子设备和介质 |
CN111381792A (zh) * | 2020-03-12 | 2020-07-07 | 上海曼恒数字技术股份有限公司 | 一种支持多人协同的虚拟现实数据传输方法及系统 |
CN111381792B (zh) * | 2020-03-12 | 2023-06-02 | 上海曼恒数字技术股份有限公司 | 一种支持多人协同的虚拟现实数据传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102752669B (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752669A (zh) | 多通道实时流媒体文件的传送处理方法与系统、接收装置 | |
KR101927145B1 (ko) | 다른 네트워크들을 통해 수신된 콘텐츠의 렌더링을 동기화하기 위한 디코더 및 이러한 디코더에서의 방법 | |
US11758209B2 (en) | Video distribution synchronization | |
EP2690876A2 (en) | Heterogeneous network-based linked broadcast content transmitting/receiving device and method | |
CN101465996B (zh) | 一种网络电视显示时间的方法及设备和系统 | |
US20120033035A1 (en) | Method and system for transmitting/receiving 3-dimensional broadcasting service | |
WO2013144347A1 (en) | Marker-based inter-destination media synchronization | |
KR20130050953A (ko) | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 | |
CN101202613B (zh) | 一种用于时钟同步的终端 | |
WO2014193996A2 (en) | Network video streaming with trick play based on separate trick play files | |
CN109089129B (zh) | 一种稳健的多视频捆绑直播系统及其方法 | |
KR20160110424A (ko) | Dash의 강건한 라이브 동작 | |
EP1884115A4 (en) | METHOD AND DEVICE FOR SYNCHRONIZING A DATA SERVICE WITH A VIDEO SERVICE FOR DIGITAL MULTIMEDIA RADIATION | |
WO2013190787A1 (ja) | 受信装置およびその同期処理方法 | |
Concolato et al. | Synchronized delivery of multimedia content over uncoordinated broadcast broadband networks | |
EP2814256B1 (en) | Method and apparatus for modifying a stream of digital content | |
TWI393431B (zh) | 行動電視系統及其同步化播放串流服務的方法 | |
CN100544448C (zh) | 一种移动多媒体网络的时钟同步系统 | |
CN113169969A (zh) | 多播到单播转换 | |
AU2015204359A1 (en) | Decoder and method at the decoder for synchronizing the rendering of contents received through different networks | |
KR20230154051A (ko) | 시간 동기화된 멀티 스트림 데이터 전송을 제공하는 방법 | |
CN100571119C (zh) | 一种利用移动网络实现时钟同步的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |