CN105187862B - 一种分布式播放器流量控制方法及系统 - Google Patents
一种分布式播放器流量控制方法及系统 Download PDFInfo
- Publication number
- CN105187862B CN105187862B CN201510549593.1A CN201510549593A CN105187862B CN 105187862 B CN105187862 B CN 105187862B CN 201510549593 A CN201510549593 A CN 201510549593A CN 105187862 B CN105187862 B CN 105187862B
- Authority
- CN
- China
- Prior art keywords
- player
- module
- demultiplexing
- data
- key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 44
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种分布式播放器流量控制方法及系统,包括:播放器1和播放器2控制层建立连接;播放器1向播放器2发送解复用命令Cmdprepare;播放器2构建解复用模块和数据发送模块;向播放器1控制层回复Ready消息;播放器1构建数据接收模块、解码模块和渲染模块;通知UI播放;播放器2启动解复用模块,从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;播放器1启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出。能够提高播放媒体文件的速度和效率,避免控制命令的堵塞,提高用户满意度。
Description
技术领域
本申请涉及互联网应用技术领域,具体地说,涉及一种分布式播放器流量控制方法及系统。
背景技术
当前,视频播放器,通常是指能播放以数字信号形式存储的媒体文件的软件,也指具有播放媒体文件功能的电子器件产品。除了少数波形文件外,大多数视频播放器携带视音频解码器和显示部件以还原经过压缩媒体文件,视频播放器还要内置一整套转换以及缓存的算法。当然大多数的视频播放器还能支持播放单音频文件或者单视频文件。
一般的处理过程为:
输入。从文件或网络等读取原数据,如x.avi,x.mov,rtsp://xxx,对原数据进行解析,比如文件,首先要分析文件格式,从文件中取得音视频编码参数,媒体时间长度等信息,然后要从其中取出音频编码数据和视频编码数据送到解码部分,这里暂称这种编码源数据块为packet。
解码。初始化时,利用输入端从源数据中取得的信息调用不同的解码库初始化;然后接收输入端传送来的音视频编码数据,分别进行音频解码和视频解码,视频解码出来的数据一般是YUV或RGB数据,这里暂称为picture,音频解码出来的数据是采样数据,是声卡播放的数据,这里暂称为sample。解码所得的数据接下来送到输出部分。
输出。接收解码部分送来的picture和sample并显示。视频显示一般使用某个图形库,如SDL,Xlib,DirectDraw,OpengGL,FrameBuffer等,音频输出是把sample写入系统的音频驱动,由音频驱动送入声卡播放,可用的音频输出有ALSA,OSS,SDL,DirectSound,WaveOut等。
现有技术中,通过分布式播放器在一个终端(播放器1)播放另外一个终端(播放器2)上面的媒体文件,播放器1需要先和播放器2建立连接,通过网络传递各种控制命令,播放过程中传递的视音频数据也会跟这些控制命走相同的通道。视音频数据量很大,开始播放以后下行通道内的视音频数据会源源不断的涌入,堵塞下行通道。这时如果要发出Pause、Seek、Stop等控制动作时,上行通道将控制命令发出去,但控制命令响应从下行通道返回时,就会被大量的视音频数据堵塞。只有下行通道中大量的数据被消耗完,才能接收到控制命令的响应,整个过程相当漫长甚至永远阻塞,用户体验会非常不好,而且还会浪费带宽。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种分布式播放器流量控制方法及系统,其能够解决现有技术中播放器播放存在的流量控制问题,能够提高播放媒体文件的速度和效率,避免控制命令的堵塞,提高用户满意度。
为了解决上述技术问题,本申请有如下技术方案:
一种分布式播放器流量控制方法,包括:
播放器1控制层和播放器2控制层建立连接;
播放器1控制层向播放器2控制层发送解复用命令Cmdprepare;
播放器2控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向播放器1控制层回复消息解复用Ready消息;
播放器1控制层收到所述解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;
所述UI操作播放后,播放器1控制层向播放器2控制层发送命令Cmddemux;
播放器2控制层收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息;
播放器1控制层收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出。
所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。
所述方法还包括:
播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度;
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
一种分布式播放器流量控制系统,包括:播放器1和播放器2;其中,
所述播放器1,用于和播放器2控制层建立连接;向播放器2控制层发送解复用命令Cmdprepare;收到解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;UI操作播放后,向播放器2控制层发送命令Cmddemux;收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出;
所述播放器2,用于控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向所述播放器1控制层回复消息解复用Ready消息;收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息。
所述播放器2还用于:所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
所述播放器1还用于:所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。所述播放器1播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度;
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
与现有技术相比,本申请所述的方法和系统,达到了如下效果:
第一、本发明在分布式播放器播放过程中,给视音频数据加上适当的流量控制,控制其单位时间输出发送出去的码流,让数据流源源不断地匀速流动,而不要像潮水般涌入,保证控制命令和数据流都能及时通过,增加用户体验,节省带宽。
第二,本发明分布式播放器中的数据流得到有效控制,控制命令和数据信息都能及时通过网络,增加播放过程中的控制体验。
第三、播放过程的数据匀速通过,节省播放控制时候大量预先发送的数据,减少带宽占用。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明的所述一种分布式播放器流量控制方法流程图;
图2为本发明的所述一种分布式播放器流量控制系统结构示意图;
其中:201-播放器1;202-播放器2。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
参见图1所示为本申请所述一种分布式播放器流量控制方法的具体实施例,本实施例中所述方法包括以下步骤:
步骤101、播放器1和播放器2控制层建立连接;
步骤102、播放器1控制层向播放器2控制层发送解复用命令Cmdprepare;
步骤103、播放器2控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向播放器1控制层回复消息解复用Ready消息;
步骤104、播放器1控制层收到所述解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;
步骤105、所述UI操作播放后,播放器1控制层向播放器2控制层发送命令Cmddemux;
步骤106、播放器2控制层收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息;
步骤107、播放器1控制层收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出。
其中,所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
其中,所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
其中,所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。
其中,播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度。
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
上述方案的具体内容理解为:将移动终端上的播放器分成2个部分形成分布式的播放器,该播放器包括:解复用分离部分和解码部分,具体如图2所示,其中,包括了播放器1和播放器2,。两个播放器均包括了解复用分离模块、解码模块和缓存区域。原始的视频文件在经过解复用和分离后,后将得到的音频和视频两个流媒体文件保存在本地的缓存区域中。本地的解码模块和其它播放器的解码模块均从该缓存区域中调用下载该视频文件的视频和音频两个流媒体文件,输出播放器识别播放的视频文件。
解复用分离部分,用于对接收来的视频文件进行解复用和分离处理得到视频和音频2个流媒体文件并在缓存区域进行保存,并将视频和音频2个流媒体文件发送给解码部分进行后续处理;
解码部分,再通过视频解码器对视频流媒体文件进行解码,同时通过音频解码器对音频流媒体文件进行解码,最后进行同步和渲染操作,得到能够在本地播放器播放的文件。
当其他终端的播放器(也即另一个终端上的播放器)需要从该移动终端上获取其下载的视频文件时,查询该移动终端上的缓存区域是否存储有该视频对应的经过解复用和分离处理得到视频和音频2个流媒体文件,如有,则另一个终端上的播放器将该视频和音频2个流媒体文件直接从下载下来,无需在进行任何解复用和分离处理,即可直接通过另一个终端上的播放器上的解码部分进行后续处理后进行本地播放器播放。
上述提到的视频文件,是本地文件或在线文件(万能格式都能读取的流媒体文件)。
实施例2
结合附图2所示,本发明所述一种分布式播放器流量控制系统,包括:播放器1和播放器2;其中,
所述播放器1,用于和播放器2控制层建立连接;向播放器2控制层发送解复用命令Cmdprepare;收到解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;UI操作播放后,向播放器2控制层发送命令Cmddemux;收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出;
所述播放器2,用于控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向所述播放器1控制层回复消息解复用Ready消息;收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息。
所述播放器2还用于:所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
所述播放器1还用于:所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。。
所述播放器1播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度。
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
通过以上各实施例可知,本申请存在的有益效果是:
第一、本发明在分布式播放器播放过程中,给视音频数据加上适当的流量控制,控制其单位时间输出发送出去的码流,让数据流源源不断地匀速流动,而不要像潮水般涌入,保证控制命令和数据流都能及时通过,增加用户体验,节省带宽。
第二,本发明分布式播放器中的数据流得到有效控制,控制命令和数据信息都能及时通过网络,增加播放过程中的控制体验。
第三、播放过程的数据匀速通过,节省播放控制时候大量预先发送的数据,减少带宽占用。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (8)
1.一种分布式播放器流量控制方法,其特征在于,包括:
播放器1控制层和播放器2控制层建立连接;
播放器1控制层向播放器2控制层发送解复用命令Cmdprepare;
播放器2控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向播放器1控制层回复消息解复用Ready消息;
播放器1控制层收到所述解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;
所述UI操作播放后,播放器1控制层向播放器2控制层发送命令Cmddemux;
播放器2控制层收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息;
播放器1控制层收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出;
播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度;
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
2.根据权利要求1所述分布式播放器流量控制方法,其特征在于,所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
3.根据权利要求1所述分布式播放器流量控制方法,其特征在于,所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
4.根据权利要求1所述分布式播放器流量控制方法,其特征在于,所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。
5.一种分布式播放器流量控制系统,其特征在于,包括:播放器1和播放器2;其中,
所述播放器1,用于和播放器2控制层建立连接;向播放器2控制层发送解复用命令Cmdprepare;收到解复用Ready消息后,根据所述解复用Ready消息包含的媒体信息构建数据接收模块、解码模块和渲染模块;并通知UI播放;UI操作播放后,向播放器2控制层发送命令Cmddemux;收到Play消息后,启动数据接收模块、解码模块和渲染模块;数据接收模块接收到原始流数据交给解码模块,解码模块解码输出的数据发送给渲染模块,渲染模块完成渲染输出;
所述播放器2,用于控制层收到Cmdprepare后,根据所述解复用命令中的媒体文件信息构建解复用模块和数据发送模块;向所述播放器1控制层回复消息解复用Ready消息;收到Cmddemux命令后,启动解复用模块,解复用模块开始从IO中读取媒体文件数据,解复用分离出原始流数据,并通过数据发送模块把原始流数据发送出去;向播放器1回复解复用Play消息;
所述播放器1播放的视音频数据流在解复用完毕以后根据视频音频信息打上时间戳信息Tf;
当开始播放的时候记录下系统开始时间Tgs和视音频开始时间Tfs,当((Tf-Tfs)-(Tg-Tgs))>TΔ,需要减缓发送的速度,避免拥塞;
接受端将接收到视音频帧数据的延迟时间Tdelay,发回发送端,当Tdelay>2*TΔ,设置以减慢发送速度;当Tdelay<TΔ,设置以加快发送速度;
其中,Tf为视音频帧的播放时间;Tgs为播放时系统起始时间;Tfs为视音频帧的起始时间;Tg为系统当前时间;TΔ为时间偏差阈值;Tdelay为接收端接收到发送端发送的数据的延迟Tdelay,为Tgs和Tfs每次需要修正的偏差。
6.根据权利要求5所述分布式播放器流量控制系统,其特征在于,所述播放器2还用于:所述解复用模块和数据发送模块初始化完成后,播放器2处于Ready状态之后,播放器2控制层会向播放器1控制层回复消息解复用Ready消息。
7.根据权利要求5所述分布式播放器流量控制系统,其特征在于,所述播放器1和播放器2控制层在建立播放连接时要核对起始时钟,保证两端的计时时钟Tg的同步。
8.根据权利要求5所述分布式播放器流量控制系统,其特征在于,所述播放器1还用于:所述解码模块和渲染模块初始化完成后,所有的播放模块都处于Ready状态,此时通知所述UI播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510549593.1A CN105187862B (zh) | 2015-08-31 | 2015-08-31 | 一种分布式播放器流量控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510549593.1A CN105187862B (zh) | 2015-08-31 | 2015-08-31 | 一种分布式播放器流量控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105187862A CN105187862A (zh) | 2015-12-23 |
CN105187862B true CN105187862B (zh) | 2017-12-15 |
Family
ID=54909663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510549593.1A Active CN105187862B (zh) | 2015-08-31 | 2015-08-31 | 一种分布式播放器流量控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105187862B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973030B2 (en) * | 2001-06-20 | 2005-12-06 | Motorola, Inc. | Method and apparatus for controlling multiple logical data flow in a variable data rate environment |
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
CN102647634A (zh) * | 2012-05-02 | 2012-08-22 | 合一网络技术(北京)有限公司 | 一种基于HTML5video的多分片视频播放方法及装置 |
CN102970179A (zh) * | 2012-11-01 | 2013-03-13 | 合一网络技术(北京)有限公司 | 一种基于点对点数据传输的媒体播放器测试方法及系统 |
CN103067301A (zh) * | 2013-01-17 | 2013-04-24 | 广东石油化工学院 | 基于用户数据报协议的快速可靠的拥塞控制改进算法 |
CN103813205A (zh) * | 2012-11-13 | 2014-05-21 | 三星电子(中国)研发中心 | 在多个媒体播放设备间实现媒体同步播放控制的方法和装置 |
CN104243342A (zh) * | 2014-09-19 | 2014-12-24 | 深圳市优视技术有限公司 | 数据传输控制方法及系统 |
CN104618786A (zh) * | 2014-12-22 | 2015-05-13 | 深圳市腾讯计算机系统有限公司 | 音视频同步方法和装置 |
-
2015
- 2015-08-31 CN CN201510549593.1A patent/CN105187862B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973030B2 (en) * | 2001-06-20 | 2005-12-06 | Motorola, Inc. | Method and apparatus for controlling multiple logical data flow in a variable data rate environment |
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
CN102647634A (zh) * | 2012-05-02 | 2012-08-22 | 合一网络技术(北京)有限公司 | 一种基于HTML5video的多分片视频播放方法及装置 |
CN102970179A (zh) * | 2012-11-01 | 2013-03-13 | 合一网络技术(北京)有限公司 | 一种基于点对点数据传输的媒体播放器测试方法及系统 |
CN103813205A (zh) * | 2012-11-13 | 2014-05-21 | 三星电子(中国)研发中心 | 在多个媒体播放设备间实现媒体同步播放控制的方法和装置 |
CN103067301A (zh) * | 2013-01-17 | 2013-04-24 | 广东石油化工学院 | 基于用户数据报协议的快速可靠的拥塞控制改进算法 |
CN104243342A (zh) * | 2014-09-19 | 2014-12-24 | 深圳市优视技术有限公司 | 数据传输控制方法及系统 |
CN104618786A (zh) * | 2014-12-22 | 2015-05-13 | 深圳市腾讯计算机系统有限公司 | 音视频同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105187862A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109168078B (zh) | 一种视频清晰度切换方法及装置 | |
KR101515664B1 (ko) | 미디어 전송 스트림에서의 햅틱 효과 데이터의 동기화 | |
US20170111414A1 (en) | Video playing method and device | |
KR100939623B1 (ko) | 미디어 전송 스트림에서 햅틱 효과 데이터의 동기화 | |
US20090300145A1 (en) | Media streaming with seamless ad insertion | |
CN105187896B (zh) | 多分段的媒体文件播放方法和系统 | |
EP3174060A1 (en) | Method and apparatus for audio mixing and playing | |
CN108810656B (zh) | 一种实时直播ts流的去抖处理方法及处理系统 | |
CN105744299A (zh) | 动态码率切换方法、服务器及系统 | |
CN110662116A (zh) | 一种基于WebAssembly技术的Web播放器及播放方法 | |
CN112929713B (zh) | 数据同步方法、装置、终端及存储介质 | |
CN104464743B (zh) | 一种在语音聊天室中播放背景音乐的方法及移动终端 | |
CN105187897B (zh) | 多分段的媒体文件跨段播放方法和系统 | |
KR101668283B1 (ko) | 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템 | |
CN108882010A (zh) | 一种多屏播放的方法及系统 | |
CN106303754A (zh) | 一种音频数据播放方法及装置 | |
CN103686311A (zh) | 一种音视频播放方法和装置 | |
CN108156487A (zh) | 一种视频播放方法和装置 | |
CN106331763A (zh) | 无缝播放分片媒体文件的方法及实现该方法的装置 | |
CN105120323B (zh) | 一种分布式播放器任务调度的方法及系统 | |
CN105187862B (zh) | 一种分布式播放器流量控制方法及系统 | |
CN105120324B (zh) | 一种分布式播放器实现方法及系统 | |
CN103501457A (zh) | 一种节目播放的方法及设备 | |
CN107124641A (zh) | 一种音视频同步播放的控制方法 | |
US8331459B2 (en) | Method and apparatus for smooth digital media playback |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100191 Beijing, Xueyuan Road No. 51, the first to enjoy the science and technology building, floor 6, Applicant after: Storm group Limited by Share Ltd Address before: 100191 Beijing, Xueyuan Road No. 51, the first to enjoy the science and technology building, floor 6, Applicant before: Beijing Baofeng Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20190705 Granted publication date: 20171215 |