一种实现同步播放的方法和装置与流程

文档序号:11139376阅读:482来源:国知局
一种实现同步播放的方法和装置与制造工艺

本发明涉及终端技术,尤指一种实现同步播放的方法和装置。



背景技术:

多屏联动的场景越来越多,例如,家里有台电视盒,支持Miracast功能,即电视盒与电视通过高清晰度多媒体接口(HDMI,High Definition Multimedia Interface)线连接。当移动终端与电视盒通过Miracast直连成功后,就能够同时在移动终端和电视上同时显示图片或播放音视频。又如,百货商场中,大屏幕上出现互动的内容,比如抢红包,百货商场的服务器通过Miracast与移动终端建立连接后,可以同时在大屏幕和移动终端上同时显示活动内容。

现有技术中采用Miracast实现同步播放,大致包括:设备A和设备B建立Wi-Fi对等网络(P2P,Peer to Peer)连接后,在传输音视频数据前,设备A和设备B交换一些Miracast参数信息,然后设备A和设备B之间建立一个Miracast会话(Session),设备A在自身播放音视频时,基于建立的Session向设备B发送MPEG2TS编码后的音视频数据,其中,编码后的音视频数据包含有用于同步的时间戳,设备B解码接收到的音视频数据并根据音视频数据中的时间戳和实际接收到音视频数据的时间戳之间的差值进行同步显示。

现有的实现同步播放的方法中,由于音视频数据传输过程中容易受到传输网络带宽、设备的硬件性能等因素的影响,而现有的方法中并没有考虑到这些因素,因此,设备的播放延时较长。



技术实现要素:

为了解决上述问题,本发明提出了一种实现同步播放的方法和装置,能够减小各移动终端的播放延时。

为了达到上述目的,本发明提出了一种实现同步播放的方法,包括:分 别确定各移动终端的系统时间和自身的系统时间之间的第一差值;

分别确定各移动终端能够处理的播放文件的复杂度和播放延时;

根据各移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度;

根据各能够处理确定出的复杂度的移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据,以实现同步播放。

优选地,所述分别确定各移动终端的系统时间和自身的系统时间之间的第一差值包括:

向所述各移动终端发送反馈系统时间的请求;

接收到来自所述各移动终端的系统时间,分别计算所述各移动终端的系统时间和自身的系统时间之间的第一差值。

优选地,所述分别确定各移动终端能够处理的播放文件的复杂度和播放延时包括:

对于每一个所述移动终端,分别向所述移动终端发送不同复杂度的测试文件数据进行测试文件的同步播放;

接收到来自所述移动终端的开始播放所述各复杂度的测试文件的时间和结束播放所述各复杂度的测试文件的时间;

对于每一种复杂度的测试文件,计算所述各移动终端和自身的所述开始播放所述测试文件的时间之间的第二差值,以及所述各移动终端和自身的所述结束播放所述测试文件的时间之间的第三差值,判断出所述第二差值和所述第三差值相同,确定所述移动终端能够处理所述测试文件的复杂度,确定所述播放延时为所述第二差值或所述第三差值。

优选地,所述根据各移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度包括:

确定所有所述移动终端能够处理的播放文件的最低复杂度为所述待播放文件的复杂度,或确定超过预设阈值的移动终端能够处理的播放文件的复杂 度为所述待播放文件的复杂度。

优选地,所述根据各能够处理确定出的复杂度的移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据包括:

根据所述能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送所述待播放文件数据的时间;

在自身播放所述待播放文件之前向所述能够处理确定出的复杂度的移动终端发送长度为提前发送所述待播放文件数据的时间的待播放文件数据;

在自身播放所述待播放文件时,向所述能够处理确定出的复杂度的移动终端发送表示开始播放所述待播放文件的消息,并继续向所述能够处理确定出的复杂度的移动终端发送所述待播放文件的剩余数据。

优选地,所述根据各移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据包括:

根据所述能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送所述待播放文件数据的时间;

在自身播放所述待播放文件之前的提取发送所述待播放文件数据的时间,向所述能够处理确定出的复杂度的移动终端发送所述待播放文件数据。

优选地,根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间包括:

计算所述能够处理确定出的复杂度的移动终端的第一差值和所述确定出的复杂度对应的播放延时之间的和值;确定所述提前发送待播放文件数据的时间为计算得到的和值。

本发明还提出了一种实现同步播放的装置,至少包括:

第一确定模块,用于分别确定各移动终端的系统时间和自身的系统时间之间的第一差值;

第二确定模块,用于分别确定各移动终端能够处理的播放文件的复杂度和播放延时;

第三确定模块,用于根据各移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度;

播放模块,用于根据各能够处理确定出的复杂度的移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据,以实现同步播放。

优选地,所述第一确定模块具体用于:

向所述各移动终端发送反馈系统时间的请求;接收到来自所述各移动终端的系统时间,分别计算所述各移动终端的系统时间和自身的系统时间之间的第一差值。

优选地,所述第二确定模块具体用于:

对于每一个所述移动终端,分别向所述移动终端发送不同复杂度的测试文件数据进行测试文件的同步播放;接收到来自所述移动终端的开始播放所述各复杂度的测试文件的时间和结束播放所述各复杂度的测试文件的时间;对于每一种复杂度的测试文件,计算所述各移动终端和自身的所述开始播放所述测试文件的时间之间的第二差值,以及所述各移动终端和自身的所述结束播放所述测试文件的时间之间的第三差值,判断出所述第二差值和所述第三差值相同,确定所述移动终端能够处理所述测试文件的复杂度,确定所述播放延时为所述第二差值或所述第三差值。

优选地,所述第三确定模块具体用于:

确定所有所述移动终端能够处理的播放文件的最低复杂度为所述待播放文件的复杂度,或确定超过预设阈值的移动终端能够处理的播放文件的复杂度为所述待播放文件的复杂度。

优选地,所述播放模块具体用于:

根据所述能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送所述待播放文件数据的时间;在自身播放所述待播放文件之前向所述能够处理确定出的复杂度的移动终端发送长度为提前发送所述待播放文件数据的时间的待播放文件数据;在自身播放所述待播放文件时,向所述能 够处理确定出的复杂度的移动终端发送表示开始播放所述待播放文件的消息,并继续向所述能够处理确定出的复杂度的移动终端发送所述待播放文件的剩余数据。

优选地,所述播放模块具体用于:

根据所述能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送所述待播放文件数据的时间;在自身播放所述待播放文件之前的提取发送所述待播放文件数据的时间,向所述能够处理确定出的复杂度的移动终端发送所述待播放文件数据。

优选地,所述服务器根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间为:

计算所述能够处理确定出的复杂度的移动终端的第一差值和所述确定出的复杂度对应的播放延时之间的和值;确定所述提前发送待播放文件数据的时间为计算得到的和值。

与现有技术相比,本发明包括:分别确定各移动终端的系统时间和自身的系统时间之间的第一差值;分别确定各移动终端能够处理的播放文件的复杂度和播放延时;根据各移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度;根据各能够处理确定出的复杂度的移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据实现同步播放。本发明的方法通过比对服务器和移动终端的系统时间之间的第一差值和移动终端的播放延时来实现同步播放,减小了移动终端的播放延时。

附图说明

下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。

图1为本发明实现同步播放的方法的流程图;

图2为本发明实现同步播放的装置的结构组成示意图。

具体实施方式

为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。

参加图1,本发明提出了一种实现多屏联动的方法,包括:

步骤100、分别确定各移动终端的系统时间和自身的系统时间之间的第一差值。具体包括:

向各移动终端发送反馈系统时间的请求;接收到来自各移动终端的系统时间,分别计算各移动终端的系统时间和自身的系统时间之间的第一差值。

步骤101、分别确定各移动终端能够处理的播放文件的复杂度和播放延时。具体包括:

对于每一个移动终端,分别向移动终端发送不同复杂度的测试文件数据进行测试文件的同步播放;接收到来自移动终端的开始播放各复杂度的测试文件的时间和结束播放各复杂度的测试文件的时间;对于每一种复杂度的测试文件,计算各移动终端和自身的开始播放测试文件的时间之间的第二差值,以及各移动终端和自身的结束播放测试文件的时间之间的第三差值,判断出第二差值和第三差值相同,确定移动终端能够处理测试文件的复杂度,确定播放延时为第二差值或第三差值。

其中,当判断出第三差值大于第二差值时,确定移动终端不能处理测试文件的复杂度。

本步骤中,播放文件可以是音频、视频、图片等。

其中,视频的复杂度可以是视频的显示格式等。

其中,显示格式可以是360p、720p、1080p等。其中,字母p表示逐行扫描,数字360、720、1080等表示其垂直分辨率,也接收垂直方向的水平扫描线。

其中,在进行多屏联动时,不同的复杂度,移动终端的处理速度不同,传输速度也不同,导致移动终端的播放延时也不相同。

其中,和移动终端之间可以采用Miracast进行测试文件的同步播放,具体实现属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。

其中,和移动终端可以根据测试文件中的开始播放的标识和结束播放的标识来记录开始播放测试文件的时间和结束播放测试文件的时间。例如,可以在测试视频的开头和结尾中显示纯色图片,表示视频播放的开始和结束,这样和移动终端就可以根据纯色图片来记录开始播放测试视频的时间和结束播放测试视频的时间。

步骤102、根据各移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度。具体包括:

确定所有移动终端能够处理的播放文件的最低复杂度为待播放文件的复杂度,或确定超过预设阈值的移动终端能够处理的播放文件的复杂度为待播放文件的复杂度。

其中,预设阈值可以是移动终端的总量和预设比例之间的乘积。其中,预设比例可以是95%等。

步骤103、根据各能够处理确定出的复杂度的移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据,以实现同步播放。具体包括:

根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间;在自身播放待播放文件之前向能够处理确定出的复杂度的移动终端发送长度为提前发送待播放文件数据的时间的待播放文件数据;在自身播放待播放文件时,向能够处理确定出的复杂度的移动终端发送表示开始播放待播放文件的消息,并继续向能够处理确定出的复杂度的移动终端发送待播放文件的剩余数据。

其中,能够处理确定出的复杂度的移动终端接收到长度为提前发送待播放文件数据的时间的待播放文件数据时,将接收到的长度为提前发送待播放文件数据的时间的待播放文件数据进行缓存。

其中,能够处理确定出的复杂度的移动终端在接收到表示开始播放待播 放文件的消息时,开始播放待播放文件。

其中,自身可以以确定出的复杂度播放待播放文件。

或者,根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间;在自身播放待播放文件之前的提取发送待播放文件数据的时间,向能够处理确定出的复杂度的移动终端发送待播放文件数据。

其中,根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间包括:

计算能够处理确定出的复杂度的移动终端的第一差值和确定出的复杂度对应的播放延时之间的和值;确定提前发送待播放文件数据的时间为计算得到的和值。

本步骤中,还可以向不能处理确定出的复杂度的移动终端发送提示消息,并与不能处理确定出的复杂度的移动终端断开连接。

本发明的可以是任意的终端,包括移动终端。

本发明的方法中,通过比对和移动终端的系统时间之间的第一差值和移动终端的播放延时来实现同步播放,减小了移动终端的播放延时。

下面通过具体实施例详细说明本发明的方法。

在某商场中,中心大厅的巨型显示屏幕上显示如下信息,大意是“欢迎大家参加今日抢红包活动”,并提示该活动将于16:00:00~16:19:50(活动准备期)连接消费者的手机、16:20:00(活动启动时间点)~16:21:00(活动停止时间点)开始抢红包,及提示用于连接消费者手机的商场服务器名称,便于消费者识别,最后,提示消费者打开其手机的Miracast等Wi-Fi Display功能。

商场服务器或移动终端通过Wi-Fi Display相关协议、机制,首先在后台搜索打开Wi-Fi对等网络(P2P,Peer to Peer)功能的手机,发现后将主动与该手机配对,当消费者接收到配对请求并同意之后,商场服务器或移动终端则与消费者手机建立起Wi-Fi P2P连接。

商场服务器或移动终端在与消费者手机建立连接后,消费者手机系统时间为S0=16:01:02,并立即反馈到商场服务器或移动终端(反馈过程时间由于最高优先级P2P传递,视为零),此时商场服务器或移动终端时间为M0=16:01:00,T0=S0-M0=2秒(s),说明消费者手机的系统时钟比商场服务器或移动终端慢2秒,从而完成商场服务器或移动终端、消费者手机的系统时钟比对和对齐;

商场服务器或移动终端向各消费者手机分发广告视频,并且各广告播放的时间均为1分钟,该广告的开始和结束为纯白色和纯蓝色画面;商场服务器或移动终端开始播放第一段广告视频(显示格式为360p)的时间为M10=16:01:03,结束播放第一段广告视频的时间为M11=16:02:03,而由于消费者手机视频处理、播放响应及视频传输时间等因素影响,消费者手机播放第一段广告视频开始的时间为S10=16:01:07,第一段广告视频结束的时间为S11=16:02:07,商场服务器或移动终端通过计算T10=S10-M10及T11=S11-M11,得到商场服务器或移动终端与消费者手机开始播放第一段广告视频的时间之间的第二差值为T10=4s,商场服务器或移动终端与消费者手机结束播放第一段广告视频的时间之间的第三差值为T11=4s;

商场服务器或移动终端向各消费者手机分发第二段广告视频(显示格式为720p),商场服务器或移动终端开始播放第二段广告视频的时间为M20=16:02:05,结束播放第二段广告视频的时间为M11=16:03:05,而由于消费者手机视频处理、播放响应及视频传输时间等因素影响,消费者手机开始播放第二段广告视频的时间为S10=16:02:10,结束播放第二段广告视频的时间为S11=16:03:10,商场服务器或移动终端通过计算T20=S20-M20及T21=S21-M21,得到商场服务器或移动终端与消费者手机开始播放第二段广告视频的时间的第二差值为T20=5s,结束播放第二段广告视频的时间的第三差值为T21=5s;

商场服务器或移动终端向各消费者手机分发第三段广告视频(显示格式为1080p),商场服务器或移动终端开始播放第三段广告视频的时间为M30=16:03:07,结束播放第三段广告视频的时间为M31=16:04:07,而由于消费者手机视频处理、播放响应及视频传输时间等因素影响,消费者手机开始 播放第三段广告视频的时间为S30=16:03:13,结束播放第三段广告视频的时间为S31=16:04:14,商场服务器或移动终端通过计算T30=S30-M30及T31=S31-M31,得到商场服务器或移动终端与消费者手机开始播放第三段广告视频的时间之间的第二差值为T30=6s、结束播放第三段广告视频的时间之间的第三差值为T31=7s。商场服务器或移动终端判断出T31>T30及T31=T30+1秒,故该消费者手机能够处理的视频的显示格式为360p和720p。

商场服务器或移动终端在播放了三段视频和检测对应开始和结束播放时间情况,对于不能处理720p的终端进行活动剔除并给予消费者终端显示提示,并取消连接。

商场服务器或移动终端将继续分发和播放720p视频,在根据T0对准双方系统时间之后,从商场服务器或移动终端播放视频之前的T0+T20时刻开始,商场服务器或移动终端向消费者手机发送播放视频数据,从而达到视频播放的同步启动。

商场服务器或移动终端在16:00:00~16:19:50(活动准备期)之间,已与100部消费者手机建立了Wi-Fi P2P连接,并均利用以上机制进行同步播放视频。商场服务器或移动终端会在内部对该100部已连接的消费者手机情况进行建档和计算,如记录对应系统时间差异、缓存时间、硬件处理能力等信息。

商场服务器或移动终端将根据这100部手机与其的时间差,进行提前播放,最后,在商场服务器或移动终端的16:20:00将准时发出红包页面,供消费者利用其手机点击,点击的时间点将记录好,反馈到商场服务器或移动终端。

上述场景代表了本发明的典型应用,但并不仅限于此。工程技术人员可以很容易的将其扩展到其他类似应用场景,此处不再赘述。

参见图2,本发明还提出了一种实现同步播放的装置,可以设置在服务器或终端中,至少包括:

第一确定模块,用于分别确定各移动终端的系统时间和自身的系统时间之间的第一差值;

第二确定模块,用于分别确定各移动终端能够处理的播放文件的复杂度和播放延时;

第三确定模块,用于根据各能够处理确定出的复杂度的移动终端能够处理的播放文件的复杂度确定待播放文件的复杂度;

播放模块,用于根据各移动终端的第一差值和播放延时向能够处理确定出的复杂度的移动终端发送待播放文件数据,以实现同步播放。

本发明的装置中,第一确定模块具体用于:

向各移动终端发送反馈系统时间的请求;接收到来自各移动终端的系统时间,分别计算各移动终端的系统时间和自身的系统时间之间的第一差值。

本发明的装置中,第二确定模块具体用于:

对于每一个移动终端,分别向移动终端发送不同复杂度的测试文件数据进行测试文件的同步播放;接收到来自移动终端的开始播放各复杂度的测试文件的时间和结束播放各复杂度的测试文件的时间;对于每一种复杂度的测试文件,计算各移动终端和自身的开始播放测试文件的时间之间的第二差值,以及各移动终端和自身的结束播放测试文件的时间之间的第三差值,判断出第二差值和第三差值相同,确定移动终端能够处理测试文件的复杂度,确定播放延时为第二差值或第三差值。

本发明的装置中,第三确定模块具体用于:

确定所有移动终端能够处理的播放文件的最低复杂度为待播放文件的复杂度,或确定超过预设阈值的移动终端能够处理的播放文件的复杂度为待播放文件的复杂度。

本发明的装置中,播放模块具体用于:

根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间;在自身播放待播放文件之前向能够处理确定出的复杂度的移动终端发送长度为提前发送待播放文件数据的时间的待播放文件数据;在自身播放待播放文件时,向能够处理确定出的复杂度的移动终端发送表示开始播放待播放文件的消息,并继续向能够处理确定出的复杂度 的移动终端发送待播放文件的剩余数据。

本发明的装置中,播放模块具体用于:

根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间;在自身播放待播放文件之前的提取发送待播放文件数据的时间,向能够处理确定出的复杂度的移动终端发送待播放文件数据。

本发明的装置中,服务器根据能够处理确定出的复杂度的移动终端的第一差值和播放延时计算提前发送待播放文件数据的时间为:

计算能够处理确定出的复杂度的移动终端的第一差值和确定出的复杂度对应的播放延时之间的和值;确定提前发送待播放文件数据的时间为计算得到的和值。

需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。

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