CN103561356A - 多终端同步播放的方法及设备 - Google Patents

多终端同步播放的方法及设备 Download PDF

Info

Publication number
CN103561356A
CN103561356A CN201310213667.5A CN201310213667A CN103561356A CN 103561356 A CN103561356 A CN 103561356A CN 201310213667 A CN201310213667 A CN 201310213667A CN 103561356 A CN103561356 A CN 103561356A
Authority
CN
China
Prior art keywords
terminal
play position
synchronous
server
prediction
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
Application number
CN201310213667.5A
Other languages
English (en)
Other versions
CN103561356B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310213667.5A priority Critical patent/CN103561356B/zh
Publication of CN103561356A publication Critical patent/CN103561356A/zh
Application granted granted Critical
Publication of CN103561356B publication Critical patent/CN103561356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种多终端同步播放的方法及设备。所述方法包括:服务器接收同步播放终端组中各终端上报的播放信息,所述播放信息携带有终端标识、播放位置和采样时间;服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;若同步播放终端组中有至少两个终端的预测播放位置不同,则服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。在不对现有技术中的服务器的性能进行升级改造的前提下,本发明实施例服务器可同时对多个同步播放终端组进行同步控制,同步控制效率更高。

Description

多终端同步播放的方法及设备
技术领域
本发明涉及多个终端同步播放的技术,尤其涉及一种多终端同步播放的方法及设备。
背景技术
数字标牌终端作为信息展示与播放的终端设备,已应用在各行各业,如金融、交通、教育、零售、企业内部等。数字标牌的实现方式:终端根据业务平台下发的播放任务单提前将各种需要播放的内容下载到本地,在播放任务单指定的时间内,终端根据业务平台下发的任务单的要求进行本地内容的播放。较为常用的是多个终端在业务平台指定的开始时间进行播放,对需要播放的内容循环播放,对于播放同样内容的多个终端,由于各个终端系统时钟的差异、任务调度的差异,会出现播放内容不同步的问题。
现有技术中,采用服务器与终端同步的方式来保证多个终端能播放同步。具体地,服务器将视频文件提前发送至各个播放终端;服务器与各个终端同时进行视频文件的播放,服务器将播放进度信息发送至各个播放终端;各个播放终端依据接收到的服务器播放进度信息,调整终端自身的播放进度与服务器一致,从而保证了各个终端播放的同步。现有技术中服务器需同步播放作为同步源,会给服务器带来额外的负担;此外,当系统中存在多个终端组各播放组播放的视频文件不同时,服务器需要同时播放多路视频,这对服务器本身的性能与硬件架构都提出了全新的需求,会大大增加服务器的复杂度与部署成本,实用性低。
发明内容
本发明的多个方面提供一种多终端同步播放的方法及设备,用以降低服务器的处理负担,提高服务器的同步控制效率。
本发明的第一个方面,提供一种多终端同步播放的方法,包括:
服务器接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;
所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
若所述同步播放终端组中有至少两个终端的预测播放位置不同,则所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
结合所述多终端同步播放的方法的第一个方面,在第一种可能实现方式中,所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,包括:
所述服务器根据各终端的预测播放位置,确定同步基准;
所述服务器将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。
结合所述的终端同步播放的方法的第一种可能实现方式,在第二种可能实现方式中,所述服务器根据各终端的预测播放位置,确定同步基准,具体为:
所述服务器从各终端的预测播放位置中选取一个预测播放位置为所述同步基准;
或者,所述服务器根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为所述同步基准;
或者,所述服务器根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定距所述平均值最近的一个预测播放位置为所述同步基准。
结合所述多终端同步播放的方法的第一个方面、第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置,包括:
所述服务器获取视频采样率;
所述服务器根据各终端的播放位置、采样时间以及所述视频采样率,采用预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置。
结合所述多终端同步播放的方法的第三种可能实现方式,在第四种可能实现方式中,所述预设的第一播放位置预测公式如下:
P1’=(T2-T1)×f/1000+P1
其中,P1’为终端的预测播放位置,T2为所述当前系统时间,T1为采样时间,f为所述视频采样率,P1为终端的当前播放位置。
结合所述多终端同步播放的方法的第一个方面、第一种可能实现方式、第二种可能实现方式、第三种可能实现方式或第四种可能实现方式,在第五种可能实现方式中,所述服务器接收同步播放终端组中各终端上报的播放信息之前,还包括:
所述服务器获取所述同步播放终端组的同步播放方式;
若所述同步播放方式为服务器与终端同步方式,则所述服务器向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。
结合所述多终端同步播放的方法的第一个方面、第一种可能实现方式、第二种可能实现方式、第三种可能实现方式或第四种可能实现方式,在第六种可能实现方式中,还包括:
所述服务器获取所述同步播放终端组的同步播放方式;
若所述同步播放方式为主终端与从终端的同步方式,则所述服务器获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
本发明的第二个方面,提供一种多终端同步播放的方法,包括:
终端向服务器上报播放信息,所述播放信息包括:终端标识、播放位置和采样时间,以使所述服务器根据所述终端的播放位置和采样时间,确定基于当前系统时间所述终端的预测播放位置;
所述终端接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据所述同步播放终端组中各终端的预测播放位置确定的;
所述终端根据所述进度调整值,调整当前播放进度。
结合所述多终端同步播放的方法的第二个方面,在第一种可能实现方式中,所述终端向服务器上报播放信息之前,还包括:
所述终端接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
相应地,所述终端向服务器周期上报播放信息,具体为:
若所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息,则所述终端向所述服务器上报播放信息。
结合所述多终端同步播放的方法的第一种可能实现方式,在第二种可能实现方式中,还包括:
所述终端接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
若所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息,则所述终端判定自身标识是否与所述同步任务单携带的主终端的终端标识相同;
若相同,则所述终端向同步播放终端组中其他终端发送同步报文;
若不同,则所述终端接收主终端发送的同步报文,并根据所述同步报文调整播放进度。
结合所述多终端同步播放的方法的第二种可能实现方式,在第三种可能实现方式中,所述同步报文携带有主终端播放位置以及主终端的采样时间;相应地,
所述终端根据所述同步报文调整播放进度,包括:
所述终端获取视频采样率;
所述终端根据所述主终端播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置;
所述终端获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
结合所述多终端同步播放的方法的第三种可能实现方式,在第四种可能实现方式中,所述终端根据所述主终端播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置,具体为:
所述终端根据所述主终端播放位置、采样时间和视频采样率,采用如下第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置:
P2’=(T4-T3)×f/1000+P2
其中,P2’为所述主终端的预测播放位置,T4为所述终端的当前系统时间,T3为采样时间,f为所述视频采样率,P2为所述主终端播放位置。
本发明的第三个方面,提供一种服务器,包括:
接收模块,用于接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;
确定模块,用于根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
处理模块,用于当所述同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
结合第三个方面所述的服务器,在第一种可能实现方式中,同步基准确定单元,用于根据各终端的预测播放位置,确定同步基准;
对比单元,用于将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。
结合第一种可能实现方式中所述服务器的,在第二种可能实现方式中,所述同步基准确定单元具体用于从各终端的预测播放位置中选取一个预测播放位置为所述同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定距所述平均值最近的一个预测播放位置为所述同步基准。
结合第三个方面、第一种可能实现方式或第二种可能实现方式中所述的服务器,在第三种可能实现方式中,所述确定模块,包括:
获取单元,用于获取所述服务器的当前系统时间和视频采样率;
计算单元,用于根据各终端的播放位置、采样时间以及所述视频采样率,采用如下预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置:
P1’=(T2-T1)×f/1000+P1
其中,P1’为终端的预测播放位置,T2为所述服务器的当前系统时间,T1为采样时间,f为所述视频采样率,P1为终端的当前播放位置。
第三个方面、第一种、第二种或第三种可能实现方式中所述的服务器,在第四种可能实现方式中,还包括:
获取模块,用于获取所述同步播放终端组的同步播放方式;
发送模块,用于当所述同步播放方式为服务器与终端同步方式时,向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。
第三个方面、第一种、第二种或第三种可能实现方式中所述的服务器,在第四种可能实现方式中,在第五种可能实现方式中,还包括:
获取模块,用于获取所述同步播放终端组的同步播放方式;
发送模块,用于当所述同步播放方式为主终端与从终端的同步方式,则获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
本发明的第四个方面,提供一种终端,包括:
上报模块,用于向服务器上报播放信息,所述播放信息包括:终端标识、当前播放位置和采样时间,以使所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
接收模块,用于接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的;
第一调整模块,用于根据所述进度调整值,调整当前播放进度。
结合第四个方面所述的终端,在第一种可能实现方式中,所述接收模块还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
相应地,所述上报模块,具体用于当所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息时,向所述服务器上报播放信息。
结合第一种可能实现方式中所述的终端,在第二种可能实现方式中,还包括:
所述接收模块,还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
判定模块,用于当所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息时,判定所述终端标识是否与所述同步任务单携带的主终端的终端标识相同;
发送模块,用于当所述终端标识与所述主终端的终端标识相同时,向同步播放终端组中其他终端发送同步报文;
第二调整模块,用于当所述终端标识与所述主终端的终端标识不同时,接收主终端发送的同步报文,并根据所述同步报文调整播放进度。
结合第二种可能实现方式中所述终端,在第三种可能实现方式中,所述第二调整模块,包括:
获取单元,用于获取视频采样率;
确定单元,用于根据所述主终端当前播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置,其中,所述同步报文,包括:所述主终端当前播放位置和采样时间;
调整单元,用于获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
结合第三种可能实现方式中所述终端,在第四种可能实现方式中,所述确定单元具体用于根据所述主终端当前播放位置、采样时间和视频采样率,采用如下第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置:
P2’=(T4-T3)×f/1000+P2
其中,P2’为所述主终端的预测播放位置,T4为所述终端的当前系统时间,T3为所述采样时间,f为所述视频采样率,P2为所述主终端当前播放位置。
本发明第五个方面,提供一种同步播放系统,包括服务器和至少一组同步播放终端组;其中,
所述服务器用于接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;若所述同步播放终端组中有至少两个终端的预测播放位置不同,则根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度;
所述同步播放终端组由至少两个终端构成,所述终端用于向服务器上报播放信息,所述播放信息包括:终端标识、当前播放位置和采样时间,以使所述服务器根据所述终端的播放位置和采样时间,确定基于当前系统时间所述终端的预测播放位置;接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据所述同步播放终端组中各终端的预测播放位置确定的;根据所述进度调整值,调整当前播放进度。
由上述技术方案可知,本发明实施例根据同步播放终端组中各终端上报的播放信息,预测各终端在服务器当前系统时间应播放的位置,若同步播放组中的所有终端不同步,则所述服务器根据各终端的预测播放位置来确定各终端的进度调整值,以使各终端根据对应的进度调整值调整播放进度,以达到所有终端播放同步的目的。本发明实施例中服务器不需播放与终端相同的视频文件,减免了服务器播放视频文件的负担。另外,在不对现有技术中的服务器的性能进行升级改造的前提下,采用本发明实施例提供的技术方案系统中服务器可同时对多个同步播放终端组进行同步控制,服务器的同步控制效率更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的多终端同步播放的方法的流程示意图;
图2为本发明实施例二提供的多终端同步播放的方法的流程示意图;
图3为本发明实施例三提供的多终端同步播放的方法的流程示意图;
图4为本发明实施例四提供的多终端同步播放的方法的流程示意图;
图5为本发明实施例五提供的多终端同步播放的方法的信令示意图;
图6为本发明实施例六提供的服务器的结构示意图;
图7为本发明实施例七提供的服务器的结构示意图;
图8为本发明实施例八提供的终端的结构示意图;
图9为本发明实施例九提供的同步播放系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例一提供的多终端同步播放的方法的流程示意图。如图1所示本实施例一所述的方法包括:
步骤101、服务器接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间。
具体地,终端可根据预设周期,向服务器周期上报所述播放信息。其中所述预设周期可以是协议预先规定的,同步播放终端组中的所有终端均按照该协议规定的周期上报播放信息,或者,所述预设周期可以是所述服务器下发的。
步骤102、所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置。
具体地,所述服务器接收到同步播放终端组中各终端上报的播放信息的时间是不同的,由此服务器在接收到所有终端上报的播放信息后,需根据各终端上报的播放信息中携带的播放位置和采样时间,预测在所述服务器的当前系统时间各终端应播放到的播放位置。其中,本步骤所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置可采用如下方法实现:
首先,所述服务器获取视频采样率。
然后,所述服务器根据各终端的当前播放位置、采样时间以及所述视频采样率,采用预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置。
其中,所述预设的第一播放位置预测公式如下:
P1’=(T2-T1)×f/1000+P1
其中,P1’为终端的预测播放位置;T2为所述当前系统时间,单位ms;T1为采样时间,单位ms;f为所述视频采样率,单位Hz;P1为终端的播放位置。
例如:同步播放终端组中包含有四个终端,分别为终端1、终端2、终端3和终端4。假设服务器接收到各终端上报的播放信息如下:
终端1上报的播放信息携带有:标识1(终端1的标识)、PUE1(播放位置)、TUE1(系统时间);
终端2上报的播放信息携带有:标识2(终端2的标识)、PUE2(播放位置)、TUE2(系统时间);
终端3上报的播放信息携带有:标识3(终端3的标识)、PUE3(播放位置)、TUE3(系统时间);
终端4上报的播放信息携带有:标识4(终端4的标识)、PUE4(播放位置)、TUE4(系统时间);
所述服务器当前系统时间为T5,则所述服务器确定出的各终端的预测播放位置如下:
终端1、P1’=(T5-TUE1)*f/1000+PUE1
终端2、P2’=(T5-TUE2)*f/1000+PUE2
终端3、P3’=(T5-TUE3)*f/1000+PUE3
终端4、P4’=(T5-TUE4)*f/1000+PUE4
这里需要说明的是:上述例举出的第一播放位置预测公式中P1’和P1都是使用时间戳来表示的。具体地,终端的播放位置也可使用帧位置来表示,即P1’和P1都使用播放的帧数来表示,这样的话,上述第一播放位置预测公式可具体为如下计算公式:
F1’=(T2-T1)*f/1000+F1
其中,F1’为终端的预测播放位置(即预测播放的帧数),单位帧;T2为所述当前系统时间,单位ms;T1为采样时间,单位ms;f为所述视频采样率,单位帧/s,P1为终端的播放位置,单位帧。
当然,上述播放位置还可以直接使用时间来表示。本实施例所述第一播放位置预测公式不仅限于上述例举出的两个计算公式,还可以是其他形式的公式。
步骤103、若所述同步播放终端组中有至少两个终端的预测播放位置不同,则所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
具体地,当所述同步播放终端组中有至少两个终端的预测播放位置不同时,所述服务器首先根据各终端的预测播放位置,确定同步基准;然后所述服务器将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。其中,所述服务器根据各终端的预测播放位置,确定同步基准,具体为:所述服务器从各终端的预测播放位置中选取一个预测播放位置为所述同步基准,例如,从上述终端1、终端2、终端3和终端4的预测播放位置P1’,P2’,P3’和P4’中任选出一个作为同步基准;或者,所述服务器根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为所述同步基准,例如,计算(P1’+P2’+P3’+P4’)/4的平均值为同步基准;或者,所述服务器直接选取距上述平均值最近的一个预测播放位置作为同步基准。
这里需要补充的是:当所述同步基准为距所有终端的预测播放位置的平均值最近的一个预测播放位置时,所述服务器确定出了各终端的进度调整值,可以使得各终端根据该进度调整值进行调整时,视频的调整范围最小,进而对视频播放的影响最小。
假设上述P1’<P2’=P3’<P4’,即播放进度终端1比终端2慢、终端2与终端3相同,终端3比终端4慢,所述服务器选取P3’为同步基准,则所述服务器分别将各终端的预测播放位置与该同步基准进行对比,得出各终端的进度调整值,具体如下:
终端1的进度调整值=P1’-P3’
终端2的进度调整值=P2’-P3’=0
终端3的进度调整值=P3’-P3’=0
终端4的进度调整值=P4’-P3’
所述服务器根据各终端的终端标识,向各终端发送携带有对应进度调整值的调整指令。终端1接收到携带有P1’-P3’的调整指令后,由于P1’<P3’,所以进度调整值P1’-P3’小于零,此时,所述终端1根据所述调整指令,跳过播放P3’-P1’播放位置差之间的内容。终端2接收到携带有0的调整指令后,根据所述调整指令无需对播放进度进行调整。同样地,终端3也无需对播放进度进行调整。终端4接收到携带有P4’-P3’的调整指令后,由于P3’<P4’,所以进度调整值P4’-P3’大于零,此时,所述终端4根据所述调整指令,暂停播放P4’-P3’播放位置差所需时长。
本实施例根据同步播放终端组中各终端上报的播放信息,预测各终端在服务器当前系统时间应播放的位置,若同步播放组中的所有终端不同步,则所述服务器根据各终端的预测播放位置来确定各终端的进度调整值,以使各终端根据对应的进度调整值调整播放进度,以达到所有终端播放同步的目的。本实施例中服务器不需播放与终端相同的视频文件,减免了服务器播放视频文件的负担。另外,在不对现有技术中的服务器的性能进行升级改造的前提下,采用本实施例提供的技术方案服务器可同时对多个同步播放终端组进行同步控制,服务器的同步控制效率更高。
如图2所示,本发明实施例二提供的多终端同步播放的方法的流程示意图。如图所示,本实施例二所述多终端同步播放的方法包括:
步骤201、所述服务器获取所述同步播放终端组的同步播放方式。
其中,所述服务器中预存储有多个同步播放终端组对应的同步播放方式。具体地,所述服务器可采用同步播放终端组标识和同步播放方式对应关系的方式进行存储。所述同步播放方式可以为:服务器与终端同步方式或主终端与从终端的同步方式。这里需要说明的是:同步播放终端组中各终端所处的网络环境决定了该同步播放终端组的同步播放方式。如果同步播放终端组中所有终端在一个局域网内,则该同步播放终端组的同步方式可以采用服务器与终端同步方式或主终端与从终端的同步方式。如果同步播放终端组中所有终端为非局域网连接,终端之间无互通的网络路由,如分别是通过ADSL(Asymmetric Digital Subscriber Line,非对称数字用户环路)MODEM(调制解调器)拨号、3G(3rd-generation,第三代移动通信技术)数据卡PPP拨号连接到所述服务器,则该同步播放终端组的同步方式只能设置为服务器与终端同步方式。由此,工作人员根据各同步播放终端组中各终端所处的网络环境为各同步播放终端组设置了相应的同步方式,并存储在服务器中。
步骤202、若所述同步播放方式为服务器与终端同步方式,则所述服务器向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。
具体地,所述服务器向所述同步播放终端组中的各终端发送的第一同步任务单还可以包括:上报周期,以使各终端根据所述上报周期,向所述服务器周期上报播放信息。
步骤203、所述服务器接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间。
步骤204、所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置。
步骤205、若所述同步播放终端组中有至少两个终端的预测播放位置不同,则所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
这里需要补充的是:本实施例中所述的步骤203、204和205的具体实现可参见上述实施例一中的相关内容,此处不再赘述。
步骤206、若所述同步播放方式为主终端与从终端的同步方式,则所述服务器获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
具体地,所述服务器向所述同步播放终端组中的各终端发送的第二同步任务单还可以包括:主终端发送同步报文的发送方式属性信息以及主终端发送同步报文周期的第二同步任务单。其中,所述主终端发送同步报文的方式可以是广播或组播的方式。具体地,所述服务器向各终端发送第二同步任务单中携带的所述主终端发送同步报文的发送方式属性信息可以是广播指示信息,或者是包含有组播指示信息及组播地址的属性信息。当终端接收到所述服务器发送的第二同步任务单后,会根据所述第二同步任务单中携带的主终端与从终端的同步方式属性信息,选择工作于主终端与从终端同步方式的模式下。此时,接收到所述第二同步任务单的终端根据主终端的终端标识判定自身是否被所述服务器指定为主终端,若是主终端,则该终端采用第二同步任务单中携带的主终端发送同步报文的发送方式属性信息指示的发送方式周期性地广播或组播同步报文,以使接收到所述同步报文的从终端根据所述同步报文调整播放进度;若不是主终端,即为从终端,则该终端等待接收主终端周期性广播或组播的同步报文,并根据接收到的同步报文调整播放进度。
本实施例二所述服务器可根据获取到的同步播放方式,向同步播放终端组中各终端下发相应的同步任务单,以使各终端根据所述同步任务单执行相应的同步操作,实现了服务器对多种网络环境下的同步播放终端组进行同步播放控制,提高了服务器的控制的灵活性,满足了不同组网环境下的同步播放终端组中各终端的同步要求。
如图3所示,本发明实施例三提供的多终端同步播放的方法的流程示意图。本实施例三从终端的侧对多终端同步播放的方法进行了说明。如图3所示,本实施例三所述方法包括:
步骤301、终端向服务器上报播放信息,所述播放信息包括:终端标识、当前播放位置和采样时间,以使所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间所述终端的预测播放位置。
具体地,所述终端可根据预设周期,向服务器周期上报播放信息。其中,所述预设周期可以是协议预先规定的,同步播放终端组中的所有终端均按照该协议规定的周期上报播放信息,或者,所述预设周期可以是所述服务器下发的。
步骤302、所述终端接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的。
具体地,所述服务器接收到同步播放终端组中所有终端上报的播放信息后,分别根据各终端的播放位置和系统时间,确定在所述服务器的当前系统时间各终端的预测播放位置。然后,在所述同步播放终端组中有至少两个终端的预测播放位置不同时,根据所有终端的预测播放位置,确定所述终端的进度调整值。具体地,所述服务器根据所有终端的预测播放位置,确定所述终端的进度调整值的实现过程可参见上述实施例一或实施例二,此处不再赘述。
步骤303、所述终端根据所述进度调整值,调整当前播放进度。
具体地,所述终端根据所述进度调整值,暂停播放所述进度调整值对应的时长,或跳过播放所述进度调整值对应时长内的内容。例如,若所述服务器是通过分别将各终端的预测播放位置与确定的同步基准进行对比,得出各终端的进度调整值,即进度调整值=P-Pb,其中,P为终端的预测播放位置,Pb为所述同步基准,则当进度调整值大于零时,暂停播放所述进度调整值对应的时长,当进度调整值小于零时,跳过播放所述进度调整值对应时长内的内容。
如图4所示,本发明实施例四提供的多终端同步播放的方法的流程示意图。如图4所示,本实施例所述的方法基于上述实施例三,在上述实施例三所述步骤301之前,还包括:
步骤401、所述终端接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的。
具体地,当所述服务器获取到的所述同步播放终端组的同步播放方式为服务器与终端同步方式时,所述服务器向所述终端发送携带有服务器与终端同步方式属性信息的第一同步任务单。当所述服务器获取到的所述同步播放终端组的同步播放方式为主终端与从终端的同步方式时,所述服务器获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单。
相应地,上述实施例三中步骤301、终端向服务器上报播放信息,具体为:步骤402、若所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息,则所述终端向所述服务器上报播放信息。
具体地,若该同步任务单还携带有上报周期,则所述终端根据所述上报周期,向所述服务器周期上报播放信息。
步骤403、所述终端接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的。
步骤404、所述终端根据所述进度调整值,调整当前播放进度。
步骤405、若所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息,则所述终端判定自身标识是否与所述同步任务单携带的主终端的终端标识相同。
步骤406、若相同,则所述终端向同步播放终端组中其他终端发送同步报文。
具体地,若所述同步报文中还包括:主终端发送同步报文的发送方式属性信息和主终端发送同步报文周期,则所述终端根据所述主终端发送同步报文周期,采用所述主终端发送同步报文的发送方式属性信息对应的发送方式向同步播放终端组中其他终端周期发送同步报文。其中,所述主终端发送同步报文的发送方式属性信息可以是广播属性信息,或者是包含有组播属性信息及组播地址的属性信息。具体地,所述终端周期广播同步报文,或周期向组播地址中的各终端组播同步报文。
步骤407、若不同,则所述终端接收主终端周期发送的同步报文,并根据所述同步报文调整播放进度。
具体地,所述终端的标识不是所述主终端的终端标识,即所述终端为从终端,此时所述从终端等待接收主终端广播的同步报文。从终端接收到主终端广播的同步报文后,根据所述同步报文调整播放进度。
其中,所述同步报文携带有主终端当前播放位置以及采样时间。具体地,所述终端接收主终端广播的同步报文,并根据所述同步报文调整播放进度可采用如下步骤实现:
首先,所述终端获取视频采样率。
随后,所述终端根据所述主终端当前播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置。
具体地,所述终端根据所述主终端当前播放位置、采样视频采样率,采用如下第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置:
P2’=(T4-T3)×f/1000+P2
其中,P2’为所述主终端的预测播放位置;T4为所述当前系统时间,单位ms;T3为所述采样时间,单位ms;f为所述视频采样率,单位Hz;P2为所述主终端播放位置。
这里需要说明的是:上述例举出的第二播放位置预测公式中P2’和P2都是使用时间戳来表示的。具体地,终端的播放位置也可使用帧位置来表示,即P2’和P2都使用播放的帧数来表示,这样的话,上述第一播放位置预测公式可具体为如下计算公式:
F2’=(T4-T3)*f/1000+F2
其中,F2’为所述主终端的预测播放位置(即预测播放的帧数),单位帧;T4为所述当前系统时间,单位ms;T3为所述采样时间,单位ms;f为所述视频采样率,单位帧/s,P1为所述主终端播放位置,单位帧。
当然,上述播放位置还直接使用时间来表示。本实施例所述第一播放位置预测公式不仅限于上述例举出的两个计算公式,还可以是其他形式的公式。
最后,所述终端获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
具体地,若所述主终端预测播放位置超前于所述终端的当前播放位置,则所述终端跳过播放所述主终端预测播放位置与所述终端当前播放位置之间的内容,直接将播放位置调整至所述主终端预测播放位置,以保持与主终端播放同步。若所述终端的当前播放位置超前于所述主终端预测播放位置,则暂停播放所述终端当前播放位置至所述主终端预测播放位置之间时长的内容,直至过了该时长后继续播放,以保持与主终端播放同步。
上述实施例四从所述终端侧对多终端同步播放的方法进行了说明。从上述实施例四可以看出,所述服务器可根据获取到的同步播放方式,向同步播放终端组中各终端下发相应的同步任务单,以使各终端根据所述同步任务单执行相应的同步操作,实现了服务器对多种网络环境下的同步播放终端组进行同步播放控制,提高了服务器的控制的灵活性,满足了不同组网环境下的同步播放终端组中各终端的同步要求。
如图5所示,本发明实施例五提供的多终端同步播放的方法的信令示意图。如图所示,本实施例五所述的方法包括:
步骤501、服务器获取所述同步播放终端组的同步播放方式。
步骤502、若所述同步播放方式为服务器与终端同步方式,则所述服务器向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息及上报周期的第一同步任务单。
步骤503、所述同步播放终端组中的各终端根据所述上报周期,周期向所述服务器上报播放信息。其中,所述播放信息携带有终端标识、播放位置和采样时间。
步骤504、所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置。
其中,所述服务器如何根据各终端的播放位置和采样时间确定基于当前系统时间各终端的预测播放位置的具体实现过程可参见上述实施例一种描述的相关内容,此处不再赘述。
步骤505、若所述同步播放终端组中有至少两个终端的预测播放位置不同,则所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令。
其中,所述服务器根据各终端的预测播放位置,确定各终端的进度调整值的具体实现过程可参见上述实施例一中描述的相关内容,此处不再赘述。所述服务器在分别确定了各终端的进度调整值后,根据各终端的标识向各终端发送携带有对应进度调整值的调整指令。
步骤506、所述同步播放终端组中的各终端接收服务器发送给自身的调整指令,各终端根据调整指令,调整播放进度,以保证同步播放终端组中各终端播放同步。
步骤507、若所述同步播放方式为主终端与从终端的同步方式,则所述服务器获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息、主终端的终端标识、主终端发送同步报文的发送方式属性信息以及主终端发送同步报文周期的第二同步任务单。
其中,所述主终端发送同步报文的发送方式属性信息可以是广播指示信息,或者是包含有组播指示信息及组播地址的属性信息。
步骤508、所述同步播放终端组中的各终端分别判定自身标识是否与所述主终端的终端标识相同,判定自身标识与所述主终端的终端标识相同的终端(以下简称主终端)进入步骤509、判定自身标识与所述主终端的终端标识不同的终端(以下简称从终端)进入步骤510。
步骤509、所述主终端根据所述主终端发送同步报文周期,广播或向组播地址中对应的终端组播同步报文。
其中,所述同步报文携带有主终端当前播放位置以及采样时间。
步骤510、从终端接收主终端周期发送的同步报文,并根据所述同步报文调整播放进度。
其中,所述从终端如何根据所述同步报文调整播放进度的具体过程,可参见上述实施例四中描述的相关内容,此处不再赘述。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
如图6所示,本发明实施例六提供的服务器的结构示意图。如图6所示,本实施例六所述的服务器包括:接收模块10、确定模块20和处理模块30。其中,所述接收模块10用于接收同步播放终端组中各终端周期上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间。所述确定模块20用于根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置。所述处理模块30用于当所述同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。本实施例六所述的服务器可实现上述实施例一所述的多终端同步播放的方法,具体实现原理可参见上述实施例一中描述的相关内容。
本实施例根据同步播放终端组中各终端上报的播放信息,预测各终端在服务器当前系统时间应播放的位置,若同步播放组中的所有终端不同步,则所述服务器根据各终端的预测播放位置来确定各终端的进度调整值,以使各终端根据对应的进度调整值调整播放进度,以达到所有终端播放同步的目的。本实施例中服务器不需播放与终端相同的视频文件,减免了服务器播放视频文件的负担。另外,在不对现有技术中的服务器的性能进行升级改造的前提下,采用本实施例提供的技术方案服务器可同时对多个同步播放终端组进行同步控制,服务器的同步控制效率更高。
其中,上述实施例中所述的处理模块可采用如下结构实现。具体地,所述处理模块包括:同步基准确定单元和对比单元。其中,所述同步基准确定单元用于根据各终端的预测播放位置,确定同步基准。所述对比单元用于将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。更具体地,所述同步基准确定单元用于从各终端的预测播放位置中选取一个预测播放位置为所述同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定距所述平均值最近的一个预测播放位置为所述同步基准。
上述实施例中所述的确定模块可采用如下结构实现。具体地,所述确定模块包括:获取单元和计算单元。其中,所述获取单元用于获取视频采样率。所述计算单元用于根据各终端的播放位置、采样时间以及所述视频采样率,采用预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置。其中,所述第一播放位置预测公式可采用上述实施例一提供的所述第一播放位置预测公式,具体实现形式可参见上述实施例一中描述的相关内容,此处不再赘述。
如图7所示,本发明提供的实施例七所述的服务器的结构示意图。如图7所示,本实施例基于上述实施例六,还包括:获取模块40和发送模块50。其中,所述获取模块40用于获取所述同步播放终端组的同步播放方式。所述发送模块50用于当所述同步播放方式为服务器与终端同步方式时,向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。本实施例六所述服务器可实现上述实施例二所述的多终端同步播放的方法,具体实现原理可参见上述实施例二中描述的相关内容。
或者,上述实施例七基于实施例六,还包括:获取模块和发送模块。其中,所述获取模块用于获取所述同步播放终端组的同步播放方式。所述的发送模块用于当所述同步播放方式为主终端与从终端的同步方式,则获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
本实施例所述服务器可根据获取到的同步播放方式,向同步播放终端组中各终端下发相应的同步任务单,以使各终端根据所述同步任务单执行相应的同步操作,实现了服务器对多种网络环境下的同步播放终端组进行同步播放控制,提高了服务器的控制的灵活性,满足了不同组网环境下的同步播放终端组中各终端的同步要求。
如图8所示,本发明实施例八提供的终端的结构示意图。如图8所示,本实施例八包括:上报模块60、接收模块70和第一调整模块80。其中,所述上报模块60用于向服务器上报播放信息,所述播放信息包括:终端标识、当前播放位置和采样时间,以使所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置。所述接收模块70用于接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的。所述第一调整模块80用于根据所述进度调整值,调整当前播放进度。
本实施例根据同步播放终端组中各终端上报的播放信息,预测各终端在服务器当前系统时间应播放的位置,若同步播放组中的所有终端不同步,则所述服务器根据各终端的预测播放位置来确定各终端的进度调整值,以使各终端根据对应的进度调整值调整播放进度,以达到所有终端播放同步的目的。本实施例中服务器不需播放与终端相同的视频文件,减免了服务器播放视频文件的负担。另外,在不对现有技术中的服务器的性能进行升级改造的前提下,采用本实施例提供的技术方案服务器可同时对多个同步播放终端组进行同步控制,服务器的同步控制效率更高。
进一步地,上述实施例所述的接收模块还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的。相应地,所述上报模块具体用于当所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息时,向所述服务器上报播放信息。
再进一步地,上述实施例中所述的终端还包括:判定模块、发送模块和第二调整模块。其中,所述接收模块,还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的。所述判定模块用于当所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息时,判定所述终端标识是否与所述同步任务单携带的主终端的终端标识相同。所述发送模块用于当所述终端标识与所述主终端的终端标识相同时,向同步播放终端组中其他终端发送同步报文。第二调整模块,用于当所述终端标识与所述主终端的终端标识不同时,接收主终端发送的同步报文,并根据所述同步报文调整播放进度。
具体地,上述实施例中,所述的第二调整模块可采用如下结构实现。所述调整模块包括:获取单元、确定单元和调整单元。其中,所述获取单元用于获取视频采样率。所述确定单元用于根据所述主终端当前播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置,其中,所述同步报文,包括:所述主终端当前播放位置和采样时间。所述调整单元用于获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
更具体地,所述确定单元具体用于根据所述主终端当前播放位置、采样时间和视频采样率,采用预设的第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置。其中,所述第二播放位置预测公式可采用上述实施例四提供的所述第二播放位置预测公式,具体实现形式可参见上述实施例四中描述的相关内容,此处不再赘述。
如图9所示,本发明实施例九提供的同步播放系统的结构示意图。如图9所示,本实施例九所述的同步播放系统包括服务器100和至少一组同步播放终端组200。所述同步播放终端组100由至少两个终端构成。所述服务器100与同步播放终端组100中的各终端均通信连接。构成所述同步播放终端组的各终端可在一个局域网中,或各终端之间无互联的网络路由。其中,所述服务器100用于接收同步播放终端组200中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;若所述同步播放终端组中有至少两个终端的预测播放位置不同,则根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。构成所述同步播放终端组的终端用于向服务器上报播放信息,所述播放信息包括:终端标识、当前播放位置和采样时间,以使所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的;根据所述进度调整值,调整当前播放进度。具体地,所述服务器可采用上述实施例六或实施例七提供的所述服务器,所述终端可采用上述实施例八提供的终端。具体实现可参见上述各对应实施例中所描述的内容,此处不再赘述。
可以理解的是,上述方法及设备中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (24)

1.一种多终端同步播放的方法,其特征在于,包括:
服务器接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;
所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
若所述同步播放终端组中有至少两个终端的预测播放位置不同,则所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
2.根据权利要求1所述的多终端同步播放的方法,其特征在于,所述服务器根据各终端的预测播放位置,确定各终端的进度调整值,包括:
所述服务器根据各终端的预测播放位置,确定同步基准;
所述服务器将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。
3.根据权利要求2所述的多终端同步播放的方法,其特征在于,所述服务器根据各终端的预测播放位置,确定同步基准,具体为:
所述服务器从各终端的预测播放位置中选取一个预测播放位置为所述同步基准;
或者,所述服务器根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为所述同步基准;
或者,所述服务器根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定距所述平均值最近的一个预测播放位置为所述同步基准。
4.根据权利要求1~3中任一所述的多终端同步播放的方法,其特征在于,所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置,包括:
所述服务器获取视频采样率;
所述服务器根据各终端的播放位置、采样时间以及所述视频采样率,采用预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置。
5.根据权利要求4所述的多终端同步播放的方法,其特征在于,所述预设的第一播放位置预测公式如下:
P1’=(T2-T1)×f/1000+P1
其中,P1’为终端的预测播放位置,T2为所述当前系统时间,T1为采样时间,f为所述视频采样率,P1为终端的播放位置。
6.根据权利要求1~5中任一所述的多终端同步播放的方法,其特征在于,所述服务器接收同步播放终端组中各终端上报的播放信息之前,还包括:
所述服务器获取所述同步播放终端组的同步播放方式;
若所述同步播放方式为服务器与终端同步方式,则所述服务器向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。
7.根据权利要求1~5中任一所述的多终端同步播放的方法,其特征在于,还包括:
所述服务器获取所述同步播放终端组的同步播放方式;
若所述同步播放方式为主终端与从终端的同步方式,则所述服务器获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
8.一种多终端同步播放的方法,其特征在于,包括:
终端向服务器上报播放信息,所述播放信息包括:终端标识、播放位置和采样时间,以使所述服务器根据所述终端的播放位置和采样时间,确定基于当前系统时间所述终端的预测播放位置;
所述终端接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的;
所述终端根据所述进度调整值,调整当前播放进度。
9.根据权利要求8所述的多终端同步播放的方法,其特征在于,所述终端向服务器上报播放信息之前,还包括:
所述终端接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
相应地,所述终端向服务器上报播放信息,具体为:
若所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息,则所述终端向所述服务器上报播放信息。
10.根据权利要求8所述的多终端同步播放的方法,其特征在于,还包括:
所述终端接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
若所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息,则所述终端判定自身标识是否与所述同步任务单携带的主终端的终端标识相同;
若相同,则所述终端向同步播放终端组中其他终端发送同步报文;
若不同,则所述终端接收主终端发送的同步报文,并根据所述同步报文调整播放进度。
11.根据权利要求10所述的多终端同步播放的方法,其特征在于,所述同步报文携带有主终端播放位置以及采样时间;相应地,
所述终端根据所述同步报文调整播放进度,包括:
所述终端获取视频采样率;
所述终端根据所述主终端播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置;
所述终端获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
12.根据权利要求11所述的多终端同步播放的方法,其特征在于,所述终端根据所述主终端播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置,具体为:
所述终端根据所述主终端播放位置、采样时间和视频采样率,采用如下第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置:
P2’=(T4-T3)×f/1000+P2
其中,P2’为所述主终端的预测播放位置,T4为所述终端的当前系统时间,T3为所述采样时间,f为所述视频采样率,P2为所述主终端播放位置。
13.一种服务器,其特征在于,包括:
接收模块,用于接收同步播放终端组中各终端上报的播放信息,其中,所述播放信息携带有终端标识、播放位置和采样时间;
确定模块,用于根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
处理模块,用于当所述同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置,确定各终端的进度调整值,并向各终端发送携带有对应进度调整值的调整指令,以使各终端根据对应的进度调整值调整播放进度。
14.根据权利要求13所述的服务器,其特征在于,所述处理模块,包括:
同步基准确定单元,用于根据各终端的预测播放位置,确定同步基准;
对比单元,用于将各终端的预测播放位置分别与所述同步基准进行对比,得出各终端的进度调整值。
15.根据权利要求14所述的服务器,其特征在于,所述同步基准确定单元具体用于从各终端的预测播放位置中选取一个预测播放位置为所述同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定所述平均值为同步基准;或者,所述同步基准确定单元还用于根据各终端的预测播放位置,计算所有预测播放位置的平均值,确定距所述平均值最近的一个预测播放位置为所述同步基准。
16.根据权利要求13~15中任一所述的服务器,其特征在于,所述确定模块,包括:
获取单元,用于获取视频采样率;
计算单元,用于根据各终端的播放位置、采样时间以及所述视频采样率,采用如下预设的第一播放位置预测公式确定基于当前系统时间各终端的预测播放位置:
P1’=(T2-T1)×f/1000+P1
其中,P1’为终端的预测播放位置,T2为所述服务器的当前系统时间,T1为采样时间,f为所述视频采样率,P1为终端的当前播放位置。
17.根据权利要求13~16所述的服务器,其特征在于,还包括:
获取模块,用于获取所述同步播放终端组的同步播放方式;
发送模块,用于当所述同步播放方式为服务器与终端同步方式时,向所述同步播放终端组中的各终端发送携带有服务器与终端同步方式属性信息的第一同步任务单,以使各终端向所述服务器上报播放信息。
18.根据权利要求13~16所述的服务器,其特征在于,还包括:
获取模块,用于获取所述同步播放终端组的同步播放方式;
发送模块,用于当所述同步播放方式为主终端与从终端的同步方式,则获取所述同步播放终端组中的各终端的终端标识,从所有终端标识中指定一个终端标识为主终端的终端标识,并向各终端发送携带有主终端与从终端的同步方式属性信息以及主终端的终端标识的第二同步任务单,以使各终端根据所述主终端的终端标识,确定自身为主终端或从终端,并执行相应的同步操作。
19.一种终端,其特征在于,包括:
上报模块,用于向服务器上报播放信息,所述播放信息包括:终端标识、播放位置和采样时间,以使所述服务器根据各终端的播放位置和采样时间,确定基于当前系统时间各终端的预测播放位置;
接收模块,用于接收所述服务器发送的携带有进度调整值的调整指令,其中,所述进度调整值为所述服务器当所述终端所在同步播放终端组中有至少两个终端的预测播放位置不同时,根据各终端的预测播放位置确定的;
第一调整模块,用于根据所述进度调整值,调整当前播放进度。
20.根据权利要求19所述的终端,其特征在于,所述接收模块还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
相应地,所述上报模块,具体用于当所述同步任务单携带的同步方式属性信息为服务器与终端同步方式属性信息时,向所述服务器上报播放信息。
21.根据权利要求20所述的终端,其特征在于,还包括:
所述接收模块,还用于接收所述服务器发送的同步任务单,所述同步任务单为所述服务器在获取到所述同步播放终端组的同步播放方式后发送的;
判定模块,用于当所述同步任务单携带的同步方式属性信息为主终端与从终端的同步方式属性信息时,判定所述终端标识是否与所述同步任务单携带的主终端的终端标识相同;
发送模块,用于当所述终端标识与所述主终端的终端标识相同时,向同步播放终端组中其他终端发送同步报文;
第二调整模块,用于当所述终端标识与所述主终端的终端标识不同时,接收主终端发送的同步报文,并根据所述同步报文调整播放进度。
22.根据权利要求21所述终端,其特征在于,所述第二调整模块,包括:
获取单元,用于获取视频采样率;
确定单元,用于根据所述主终端当前播放位置、采样时间和视频采样率,确定基于当前系统时间所述主终端的预测播放位置,其中,所述同步报文,包括:所述主终端当前播放位置和采样时间;
调整单元,用于获取当前播放位置,并比较所述主终端预测播放位置与所述当前播放位置是否相同,若不相同,则根据所述主终端预测播放位置,调整当前播放位置。
23.根据权利要求22所述终端,其特征在于,所述确定单元,具体用于根据所述主终端当前播放位置、采样时间和视频采样率,采用如下第二播放位置预测公式确定基于当前系统时间所述主终端的预测播放位置:
P2’=(T4-T3)×f/1000+P2
其中,P2’为所述主终端的预测播放位置,T4为所述终端的当前系统时间,T3为所述采样时间,f为所述视频采样率,P2为所述主终端当前播放位置。
24.一种同步播放系统,其特征在于,包括服务器和至少一组同步播放终端组;其中,
所述服务器采用上述权利要求13~18中任一所述的服务器;
所述同步播放终端组由至少两个终端构成,所述终端采用上述权利要求19~23中任一所述的终端。
CN201310213667.5A 2013-05-31 2013-05-31 多终端同步播放的方法及设备 Active CN103561356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310213667.5A CN103561356B (zh) 2013-05-31 2013-05-31 多终端同步播放的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310213667.5A CN103561356B (zh) 2013-05-31 2013-05-31 多终端同步播放的方法及设备

Publications (2)

Publication Number Publication Date
CN103561356A true CN103561356A (zh) 2014-02-05
CN103561356B CN103561356B (zh) 2017-06-06

Family

ID=50015487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213667.5A Active CN103561356B (zh) 2013-05-31 2013-05-31 多终端同步播放的方法及设备

Country Status (1)

Country Link
CN (1) CN103561356B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469413A (zh) * 2014-12-30 2015-03-25 中山大学花都产业科技研究院 一种局域网内多终端同步播放时间偏差计算的改进方法
CN104602037A (zh) * 2015-02-10 2015-05-06 福州瑞芯微电子有限公司 多设备同步播放控制方法、设备、终端和系统
CN104618785A (zh) * 2014-04-16 2015-05-13 腾讯科技(北京)有限公司 音视频播放方法、装置及系统
CN105657495A (zh) * 2015-12-31 2016-06-08 南京邮电大学 一种多智能终端同步播放方法及设备
CN105812957A (zh) * 2014-12-29 2016-07-27 中国移动通信集团公司 一种多媒体文件的续播方法及装置
CN105872660A (zh) * 2016-03-30 2016-08-17 北京奇艺世纪科技有限公司 一种同步播放的方法及装置
WO2017016266A1 (zh) * 2015-07-27 2017-02-02 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN106412665A (zh) * 2016-10-18 2017-02-15 北京小米移动软件有限公司 多媒体的同步播放控制方法、装置及系统
CN106507202A (zh) * 2016-11-11 2017-03-15 传线网络科技(上海)有限公司 播放控制方法及装置
CN107454430A (zh) * 2016-04-25 2017-12-08 布朗德赛服务有限责任公司 用于管理分布式数字标牌内容的方法和数字标牌播放器
CN107682715A (zh) * 2016-08-01 2018-02-09 腾讯科技(深圳)有限公司 视频同步方法及装置
CN107809685A (zh) * 2017-11-03 2018-03-16 中广热点云科技有限公司 一种多终端同步播放的方法及设备
CN107819809A (zh) * 2016-09-14 2018-03-20 京东方科技集团股份有限公司 对内容进行同步操作的方法及装置
CN110719516A (zh) * 2019-10-21 2020-01-21 北京字节跳动网络技术有限公司 视频同步的方法及装置、终端和存储介质
CN110719515A (zh) * 2018-07-12 2020-01-21 北京优酷科技有限公司 视频播放方法及装置
CN110830823A (zh) * 2019-11-27 2020-02-21 北京奇艺世纪科技有限公司 播放进度修正方法、装置、电子设备及可读存储介质
CN114143584A (zh) * 2021-09-29 2022-03-04 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN115314745A (zh) * 2022-07-29 2022-11-08 山东浪潮超高清智能科技有限公司 一种流媒体同步方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232771A1 (en) * 2009-03-16 2010-09-16 Disney Enterprises, Inc. Time-sensitive remote control of a video playback device
CN101969640A (zh) * 2010-11-15 2011-02-09 成都信息工程学院 一种用于移动终端设备的计算密钥生成方法
CN102170584A (zh) * 2011-03-14 2011-08-31 华为技术有限公司 同步hs终端设备之间媒体播放的方法、装置和系统
US20120144435A1 (en) * 2004-07-01 2012-06-07 Netgear, Inc. Method and system for synchronization of digital media playback
CN102970589A (zh) * 2012-11-26 2013-03-13 中国联合网络通信集团有限公司 多终端协同播放媒体流的控制方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144435A1 (en) * 2004-07-01 2012-06-07 Netgear, Inc. Method and system for synchronization of digital media playback
US20100232771A1 (en) * 2009-03-16 2010-09-16 Disney Enterprises, Inc. Time-sensitive remote control of a video playback device
CN101969640A (zh) * 2010-11-15 2011-02-09 成都信息工程学院 一种用于移动终端设备的计算密钥生成方法
CN102170584A (zh) * 2011-03-14 2011-08-31 华为技术有限公司 同步hs终端设备之间媒体播放的方法、装置和系统
CN102970589A (zh) * 2012-11-26 2013-03-13 中国联合网络通信集团有限公司 多终端协同播放媒体流的控制方法及装置

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618785A (zh) * 2014-04-16 2015-05-13 腾讯科技(北京)有限公司 音视频播放方法、装置及系统
CN104618785B (zh) * 2014-04-16 2018-01-05 腾讯科技(北京)有限公司 音视频播放方法、装置及系统
CN105812957A (zh) * 2014-12-29 2016-07-27 中国移动通信集团公司 一种多媒体文件的续播方法及装置
CN104469413A (zh) * 2014-12-30 2015-03-25 中山大学花都产业科技研究院 一种局域网内多终端同步播放时间偏差计算的改进方法
CN104469413B (zh) * 2014-12-30 2017-10-20 中山大学花都产业科技研究院 一种局域网内多终端同步播放时间偏差计算的改进方法
CN104602037A (zh) * 2015-02-10 2015-05-06 福州瑞芯微电子有限公司 多设备同步播放控制方法、设备、终端和系统
US10382810B2 (en) 2015-07-27 2019-08-13 Zte Corporation Method and device for implementing synchronous playing
WO2017016266A1 (zh) * 2015-07-27 2017-02-02 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN105657495A (zh) * 2015-12-31 2016-06-08 南京邮电大学 一种多智能终端同步播放方法及设备
CN105872660A (zh) * 2016-03-30 2016-08-17 北京奇艺世纪科技有限公司 一种同步播放的方法及装置
CN105872660B (zh) * 2016-03-30 2018-11-02 北京奇艺世纪科技有限公司 一种同步播放的方法及装置
CN107454430A (zh) * 2016-04-25 2017-12-08 布朗德赛服务有限责任公司 用于管理分布式数字标牌内容的方法和数字标牌播放器
CN107682715A (zh) * 2016-08-01 2018-02-09 腾讯科技(深圳)有限公司 视频同步方法及装置
CN107682715B (zh) * 2016-08-01 2019-12-24 腾讯科技(深圳)有限公司 视频同步方法及装置
CN107819809A (zh) * 2016-09-14 2018-03-20 京东方科技集团股份有限公司 对内容进行同步操作的方法及装置
WO2018049867A1 (zh) * 2016-09-14 2018-03-22 京东方科技集团股份有限公司 对内容进行同步操作的方法及装置
CN107819809B (zh) * 2016-09-14 2024-03-05 京东方科技集团股份有限公司 对内容进行同步操作的方法及装置
CN106412665A (zh) * 2016-10-18 2017-02-15 北京小米移动软件有限公司 多媒体的同步播放控制方法、装置及系统
CN106507202B (zh) * 2016-11-11 2019-12-17 传线网络科技(上海)有限公司 播放控制方法及装置
US10999645B2 (en) 2016-11-11 2021-05-04 Alibaba Group Holding Limited Playing control method and apparatus
US11595735B2 (en) 2016-11-11 2023-02-28 Alibaba Group Holding Limited Playing control method and apparatus
CN106507202A (zh) * 2016-11-11 2017-03-15 传线网络科技(上海)有限公司 播放控制方法及装置
CN107809685A (zh) * 2017-11-03 2018-03-16 中广热点云科技有限公司 一种多终端同步播放的方法及设备
CN110719515A (zh) * 2018-07-12 2020-01-21 北京优酷科技有限公司 视频播放方法及装置
CN110719516A (zh) * 2019-10-21 2020-01-21 北京字节跳动网络技术有限公司 视频同步的方法及装置、终端和存储介质
CN110830823A (zh) * 2019-11-27 2020-02-21 北京奇艺世纪科技有限公司 播放进度修正方法、装置、电子设备及可读存储介质
CN114143584A (zh) * 2021-09-29 2022-03-04 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN114143584B (zh) * 2021-09-29 2024-03-26 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN115314745A (zh) * 2022-07-29 2022-11-08 山东浪潮超高清智能科技有限公司 一种流媒体同步方法
CN115314745B (zh) * 2022-07-29 2023-08-11 山东浪潮超高清智能科技有限公司 一种流媒体同步方法

Also Published As

Publication number Publication date
CN103561356B (zh) 2017-06-06

Similar Documents

Publication Publication Date Title
CN103561356A (zh) 多终端同步播放的方法及设备
CN105578209A (zh) 弹幕显示方法及装置
CN103856607B (zh) 将手机终端上视频投放到视频播放设备播放的方法和系统
CN105787077A (zh) 数据同步方法和装置
CN104540176B (zh) 一种无线网络接入方法、装置及终端
CN101587431A (zh) 一种可以跨屏实现多屏播放视频的方法
CN104506950A (zh) 网络流媒体播放中的多线程下载方法、装置及下载设备
CN105338078A (zh) 用于存储系统的数据存储方法和装置
CN105120321A (zh) 一种视频搜索方法、视频存储方法和相关装置
CN104424970A (zh) 一种多媒体播放信息的同步方法及装置
CN103680551A (zh) 一种播放器及其多视频并行播放的方法
CN108881955A (zh) 一种实现分布式节点设备视频同步输出的方法及系统
CN108495169A (zh) 信息展示方法及装置
CN109769127A (zh) 视频同步发布方法、装置、电子设备及可读存储介质
CN109582413A (zh) 消息通知方法、装置及电子设备
CN105260082A (zh) 一种测试数据展示方法及开发终端
CN106055612A (zh) 一种数据分页显示方法及终端设备
CN103023755A (zh) 数据传输的方法及电子设备
CN104394601A (zh) 一种WiFi无线网络的访问控制方法、装置及路由器
CN110300053A (zh) 一种添加好友的方法与设备
CN103327264A (zh) 集群式插播控制系统及方法和集群式插播管理端
CN104200353A (zh) 一种信息处理方法及电子设备
CN104837046A (zh) 多媒体文件的处理方法和装置
CN103685430A (zh) 移动终端组合显示方法、系统和服务器
CN106293583A (zh) 桌面窗口共享方法和系统

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