CN113938737B - 一种基于消息通讯的音视频同步方法、系统及设备 - Google Patents
一种基于消息通讯的音视频同步方法、系统及设备 Download PDFInfo
- Publication number
- CN113938737B CN113938737B CN202111216706.8A CN202111216706A CN113938737B CN 113938737 B CN113938737 B CN 113938737B CN 202111216706 A CN202111216706 A CN 202111216706A CN 113938737 B CN113938737 B CN 113938737B
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- playing
- progress
- message
- 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 34
- 238000004891 communication Methods 0.000 title claims abstract description 26
- 230000001360 synchronised effect Effects 0.000 claims abstract description 110
- 230000005540 biological transmission Effects 0.000 claims abstract description 39
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004064 recycling Methods 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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Abstract
本申请实施例公开了一种基于消息通讯的音视频同步方法、系统及设备,申请类型为发明,属于音视频同步技术领域,用以解决通过服务器音视频推流的方法进行音视频同步处理,对网络带宽和服务器的性能要求较高的问题。方法包括:消息服务器基于第一预设时间间隔,向连接的每个音视频播放设备发送音视频播放进度获取消息,并基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;以及,确定与音视频播放设备之间的消息传输时间,并根据消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;将同步音视频序号以及同步音视频进度,同时发送到每个音视频播放设备;以使每个音视频播放设备调整播放进度。
Description
技术领域
本申请涉及音视频同步技术领域,尤其涉及一种基于消息通讯的音视频同步方法、系统及设备。
背景技术
在很多场景中,如多个相邻电梯口的宣传视频、同一病房中的分机中播放的宣讲视频等,都需要进行音视频同步播放,以避免同区域设备叠音造成的视频播放噪音等问题。现有的可以实现音视频同步播放的技术有HDMI音视频信号分配器以及服务器音视频推流等。
HDMI音视频信号分配器可以将输入的HDMI信号分配成多路一致、同步的HDMI信号输出,但是HDMI音视频信号分配器的传输距离一般不大于15米,传输距离有限,如果超出传输距离,输出的视频可能会产生花屏的现象。而且由于传输距离近,需要在现场单独布线,将HDMI音视频信号分配器安装在现场,导致现场设备部署复杂、成本高。且此方法只能支持含有HDMI接口的音视频播放设备,能够控制的音视频设备数量也有限。
服务器音视频推流是通过服务器将多路一致、同步的音视频流推送到设备端,这种方法能解决HDMI音视频信号分配器的一系列问题,但是这种方法涉及传输大量的音视频数据,导致占用的带宽较高,对网络带宽的要求以及服务器的性能要求都比较高。
发明内容
本申请实施例提供了一种基于消息通讯的音视频同步方法、系统及设备,用于解决如下技术问题:通过服务器音视频推流的方法进行音视频同步处理,对网络带宽和服务器的性能要求较高。
本申请实施例采用下述技术方案:
一方面,本申请实施例提供了一种基于消息通讯的音视频同步方法,方法包括:消息服务器基于第一预设时间间隔,向与消息服务器连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的音视频播放进度信息;其中,所述音视频播放进度信息包括当前播放音视频序号以及当前播放音视频进度;所述消息服务器基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;以及确定所述消息服务器与每个音视频播放设备之间的消息传输时间;所述消息服务器根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;并将所述同步音视频序号以及所述同步音视频进度,同时发送到每个音视频播放设备,以便所述每个音视频播放设备根据所述同步音视频序号以及所述同步音视频进度,调整音视频播放进度。
本申请实施例通过在音视频播放设备和消息服务器之间进行消息通讯,从而及时调整音视频播放设备的视频播放进度,使各个音视频播放设备的视频播放进度误差保持在很小的范围内,以使人们在观感上感觉多个音视频播放设备是同步播放的。本申请只需要传输很少的数据,即可实现多个音视频播放设备之间的音视频同步。
在一种可行的实施方式中,在消息服务器基于第一预设时间间隔,向与消息服务器连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的音视频播放进度信息之前,所述方法还包括:每个音视频播放设备在音视频服务器中获取需要播放的音视频文件,并保存在音视频文件列表中;所述每个音视频播放设备向所述消息服务器发送等待播放消息;所述消息服务器在接收到所有音视频播放设备的等待播放消息后,向每个音视频播放设备同时发送开始播放消息,以便所有音视频播放设备基于所述开始播放消息,同时开始播放所述音视频文件列表中的音视频文件,并分别记录当前播放的音视频文件的已播放时间;其中,所述音视频文件的播放方式为列表循环播放;所述已播放时间为,所述音视频文件从开始播放到当前时刻所经过的时间。
在一种可行的实施方式中,在所有音视频播放设备基于所述开始播放消息,同时开始播放所述音视频文件列表中的音视频文件,并分别记录当前播放的音视频文件的已播放时间之后,所述方法还包括:每个音视频播放设备基于第二预设时间间隔,分别获取正在播放的音视频文件的播放进度;其中,所述播放进度为,所述音视频文件的进度条所显示的音视频播放进度;并计算所述正在播放的音视频文件的已播放时间与播放进度之间的第一差值;若所述第一差值的绝对值大于第一预设阈值,则将所述正在播放的音视频文件的播放进度调整为所述已播放时间;若所述第一差值的绝对值小于等于第一预设阈值,则不对所述正在播放的音视频文件的播放进度进行调整。
本申请中的音视频播放设备通过记录自己播放音视频文件的播放时间,过一段时间后将该播放时间与音视频文件的播放进度进行对比,若二者的差值超过了某个阈值,就将音视频文件的播放进度调整为播放时间,这样可以解决因视频卡顿或者视频丢帧等原因造成的视频播放进度过快或者过慢的问题。
在一种可行的实施方式中,所述消息服务器基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号,具体包括:所述消息服务器根据预设的选举规则,在每个音视频播放设备的当前播放音视频序号中选举出所述同步音视频序号;其中,所述选举规则至少包括以下任一项:最先回复规则、多票优先规则;其中,所述最先回复规则为:所述消息服务器将第一个回复消息的音视频播放设备对应的当前播放音视频序号,确定为所述同步音视频序号;所述多票优先规则为:所述消息服务器在所有音视频播放设备正在播放的音视频文件中,确定出现次数最多的音视频文件的序号,并将所述序号确定为所述同步音视频序号。
本申请通过预设的选举规则,为所有音视频播放设备选取一个统一的音视频序号,以使所有音视频播放设备都播放这个序号对应的音视频文件,避免某个音视频播放设备断电或掉线,重启后无法跟其他音视频播放设备保持同步的现象。
在一种可行的实施方式中,确定所述消息服务器与每个音视频播放设备之间的消息传输时间,具体包括:所述消息服务器记录发送所述音视频播放进度获取消息时的第一时间戳;在接收到所述第一个回复消息的音视频播放设备回复的播放进度信息的同时,记录对应的第二时间戳;计算所述第二时间戳与所述第一时间戳之间的第二差值,并将所述第二差值确定为所述消息服务器与每个音视频播放设备之间的消息传输时间。
本申请实施例通过记录消息服务器向音视频播放设备发送消息并收到第一条回复所经过的时间,确定消息服务器与音视频播放设备之间的消息传输时间,由于不同的音视频播放设备与消息服务器的消息传输时间的误差很小,因此在本申请中忽略此误差。
在一种可行的实施方式中,所述消息服务器根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度,具体包括:所述消息服务器将第一个回复消息的音视频播放设备的当前播放音视频进度确定为统一播放进度;并将所述统一播放进度与所述消息传输时间相加,得到所述同步音视频进度。
在一种可行的实施方式中,所述每个音视频播放设备根据所述同步音视频序号以及所述同步音视频进度,调整播放进度,具体包括:在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号相同的情况下,所述当前音视频播放设备根据所述同步音视频进度,调整所述正在播放的音视频文件的播放进度;在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号不相同的情况下,所述当前音视频播放设备播放所述同步音视频序号对应的音视频文件,并将所述音视频文件的播放进度调整为所述同步音视频进度。
在一种可行的实施方式中,在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号相同的情况下,所述当前音视频播放设备根据所述同步音视频进度,调整所述正在播放的音视频文件的播放进度,具体包括:所述当前音视频播放设备获取所述正在播放的音视频文件的当前进度;并计算所述当前进度与所述同步音视频进度之间的第三差值;若所述第三差值的绝对值大于第二预设阈值,则将所述正在播放的音视频文件的当前进度调整为所述同步音视频进度。
本申请在确认所有音视频播放设备都在播放同一个音视频文件后,再将所有音视频文件的播放进度调整到统一的播放进度,若某些音视频播放设备的播放进度与统一的播放进度在误差允许范围内,则可以不调整。
第二方面,本申请实施例还提供了一种基于消息通讯的音视频同步系统,系统包括:消息服务器,用于基于第一预设时间间隔,向连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的播放进度信息;其中,所述播放进度信息包括当前播放音视频序号以及当前播放音视频进度;以及基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;以及,确定所述消息服务器与所述音视频播放设备之间的消息传输时间,并根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;将所述同步音视频序号以及所述同步音视频进度,同时发送到每个音视频播放设备;音视频播放设备,用于根据所述同步音视频序号以及所述同步音视频进度,调整音视频播放进度。
第三方面,本申请还提供了一种基于消息通讯的音视频同步设备,设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行上述任一实施方式所述的一种基于消息通讯的音视频同步方法。
本申请实施例通过在多个音视频播放设备与消息服务器之间进行少量的消息传输,来实现多个音视频播放设备的同步播放,可减少对服务器实时带宽的占用,且无线传输可以降低硬件的布线成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施例提供的一种基于消息通讯的音视频同步方法流程图;
图2为本申请实施例提供的一种基于消息通讯的音视频同步系统结构示意图;
图3为本申请实施例提供的一种基于消息通讯的音视频同步设备结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的一种基于消息通讯的音视频同步方法流程图,如图1所示,基于消息通讯的音视频同步方法流程图具体包括步骤101-106:
步骤101、消息服务器基于第一预设时间间隔,向连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的播放进度信息。
具体地,每个消息服务器连接若干组音视频播放设备,属于同一组的音视频播放设备先在音视频服务器中下载需要播放的音视频文件,并保存在音视频文件列表中。每个音视频播放设备下载完所有的音视频文件后,向消息服务器发送等待播放消息。
进一步地,消息服务器在接收到这一组里所有音视频播放设备的等待播放消息后,确认这一组的所有音视频播放设备都处于待机状态,然后向这一组的每个音视频播放设备同时发送开始播放消息。
进一步地,这一组的所有音视频播放设备收到开始播放消息之后,同时播放音视频文件列表中的音视频文件,并分别记录当前播放的音视频文件的已播放时间,也就是音视频文件从开始播放到当前时刻所经过的时间。音视频文件的播放方式为列表循环播放。
在一个实施例中,某个电梯间的4个电梯口均安装有一个视频播放器,这4个视频播放器为一组,可以与消息服务器进行无线通讯。这4个视频播放器在下载完需要播放的音视频文件,并保存在音视频文件列表中后,分别向消息服务器发送等待播放消息。消息服务器接收到4个等待播放消息之后,同时向这4个视频播放器发送开始播放消息,4个视频播放器则同时开始播放音视频文件列表中的第一个音视频文件,并且从这一刻开始记录第一个音视频文件的已播放时间。若第一个音视频文件播放完,则自动开始播放第二个音视频文件,并重新开始记录第二个音视频文件的已播放时间。若整个音视频文件列表中的音视频文件都播放完了,则从第一个音视频文件开始重新循环播放。
作为一种可行的实施方式,每个音视频播放设备在开始播放后,每隔第二预设时间间隔,就获取一次正在播放的音视频文件的播放进度,也就是当前播放的音视频文件的进度条所显示的音视频播放进度。然后计算正在播放的音视频文件的已播放时间与播放进度之间的差值,若差值的绝对值大于第一预设阈值,则将正在播放的音视频文件的播放进度调整为已播放时间,若差值的绝对值小于等于第一预设阈值,则不对正在播放的音视频文件的播放进度进行调整。
在一个实施例中,若第一预设阈值为50毫秒,第二预设时间间隔为一小时。每个音视频播放设备每隔一小时,获取一次正在播放的音视频文件的播放进度,比如正在播放的音视频文件的播放进度为2分30秒,而记录的该音视频文件的已播放时间为2分40秒,那么计算二者的差值为10秒,远远大于50毫秒,说明视频可能出现了卡顿等现象,导致视频进度变慢,此时,该音视频播放设备自动将正在播放的音视频文件的播放进度调整为2分40秒。若该音视频文件的已播放时间与播放进度相差不超过50毫秒,则不需要调整。
进一步地,在音视频播放设备开始播放音视频文件后,消息服务器每隔第一预设时间间隔,就向这一组的每个音视频播放设备发送音视频播放进度获取消息,每个音视频播放设备在收到音视频播放进度获取消息后,向消息服务器反馈自己的音视频播放进度信息,其中,音视频播放进度信息包括当前播放音视频序号以及当前播放音视频进度。
在一个实施例中,假设第一预设时间间隔为10分钟。消息服务器每隔10分钟向电梯口的4个视频播放器发送一次音视频播放进度获取消息。若其中一个视频播放器收到该消息时,正在播放音视频文件N1,播放进度为2分10秒,那么就将当前播放音视频序号:N1,以及当前播放音视频进度:2分10秒,一起发送给消息服务器。
步骤102、消息服务器基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号。
具体地,消息服务器在收到每个音视频播放设备的当前播放音视频序号和当前播放音视频进度后,根据预设的选举规则,在所有当前播放音视频序号中选举出同步音视频序号。
作为一种可行的实施方式,选举规则可以是最先回复规则、多票优先规则。最先回复规则是指:将第一个回复消息的音视频播放设备对应的当前播放音视频序号,确定为同步音视频序号。例如:消息服务器发出音视频播放进度获取消息后,收到的第一条回复是音视频播放设备1传回的,音视频播放设备1正在播放音视频文件N2,那么就将N2作为同步音视频序号。
多票优先规则是指:在所有音视频播放设备正在播放的音视频文件中,确定出现次数最多的音视频文件的序号,并将该序号确定为同步音视频序号。例如:消息服务器一共连接了10个音视频播放设备,其中,5个在播放音视频文件N2,2个在播放音视频文件N1,3个在播放音视频文件N3,那么将播放数量最多的N2作为同步音视频序号。
步骤103、消息服务器确定消息服务器与音视频播放设备之间的消息传输时间。
具体地,消息服务器在发出音视频播放进度获取消息的同时,记录当时的第一时间戳,在接收到第一个回复消息的音视频播放设备回复的播放进度信息的同时,记录对应的第二时间戳,然后计算第二时间戳与第一时间戳之间的差值,并将该差值确定为消息服务器与每个音视频播放设备之间的消息传输时间。由于同组内不同的音视频播放设备与消息服务器之间的消息传输时间的误差很小,因此在本申请中忽略此误差,将收到的第一个回复消息的时间与发送时间之差作为所有音视频播放设备与消息服务器的消息传输时间。
在一个实施例中,消息服务器记录发出音视频播放进度获取消息的时间戳X1,以及记录收到第一条回复消息的时间戳X2,然后计算T1=|X1-X2|,T1即为消息服务器与音视频播放设备之间的消息传输时间。
步骤104、消息服务器根据消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度。
具体地,消息服务器将第一个回复消息的音视频播放设备的当前播放音视频进度确定为统一播放进度,并将统一播放进度与消息传输时间相加,得到同步音视频进度。
在一个实施例中,若第一个回复消息的音视频播放设备的当前播放音视频进度为T2,则将T2作为统一播放进度,然后计算T3=T2+T1,T1为消息服务器与音视频播放设备之间的消息传输时间,计算出的T3即为同步音视频进度。
步骤105、消息服务器将计算出的同步音视频序号以及同步音视频进度,同时发送到这一组的每个音视频播放设备。
在一个实施例中,若消息服务器计算出的同步音视频序号为N2,同步音视频进度为T1,则将N2和T1发送到对应的每个音视频播放设备。
步骤106、每个音视频播放设备根据同步音视频序号以及同步音视频进度,调整播放进度。
具体地,音视频播放设备在接收到同步音视频序号以及同步音视频进度之后,若同步音视频序号与正在播放的音视频文件的序号相同,则根据同步音视频进度,调整正在播放的音视频文件的播放进度。若同步音视频序号与正在播放的音视频文件的序号不相同,则播放同步音视频序号对应的音视频文件,并将音视频文件的播放进度调整为同步音视频进度。
进一步地,音视频播放设备获取正在播放的音视频文件的当前进度,并计算当前进度与同步音视频进度之间的差值。若该差值的绝对值大于第二预设阈值,则将正在播放的音视频文件的当前进度调整为同步音视频进度。若该差值的绝对值小于等于第二预设阈值,则无需调整正在播放的音视频文件的当前进度。
在一个实施例中,若音视频播放设备1正在播放音视频文件N2,播放进度为T4,接收到的同步音视频序号为N2,同步音视频进度为T1,可知正在播放的音视频文件序号和同步音视频序号相同,此时,音视频播放设备1计算T1和T4的差值的绝对值。若绝对值大于50毫秒,则将音视频文件N2的播放进度调整到T1,若绝对值小于等于50毫秒,则不调整音视频文件N2的播放进度。
若音视频播放若音视频播放设备1正在播放音视频文件N1,播放进度为T5,接收到的同步音视频序号为N2,同步音视频进度为T1,可知正在播放的音视频文件序号和同步音视频序号不同。此时,音视频播放设备1先打开音视频文件N2进行播放,然后将N2的播放进度调整到T1。通过这种方法,可以将同组的各个音视频播放设备的播放进度进行统一,50毫秒的误差对于人的观感影响不大,也可以给人同步播放的感觉。并且若某个设备有掉线或断电的情况,导致重启后播放的音视频文件和其他设备不一样,在消息服务器下一次调整同步进度时,也可以将这个音视频播放设备播放的音视频文件调整为与其他音视频播放设备相同的序号和进度。
另外,本申请实施例还提供了一种基于消息通讯的音视频同步系统,系统的结构如图2所示,基于消息通讯的音视频同步系统200包括:
音视频服务器210,用于存储音视频文件资源,供音视频播放设备220下载。
音视频播放设备220,包括若干个音视频播放设备,如音视频播放设备221、音视频播放设备222等,同一组的音视频播放设备在音视频服务器210中下载相同的音视频文件,并同步进行播放。
作为一种可行的实施方式,音视频播放设备220可以是电梯口的宣传视频播放器,或者医院病房的床头分机等,本申请的方案应用于需要多个相邻的音视频播放设备进行同步播放的场景。
消息服务器230,用于基于第一预设时间间隔,向连接的每个音视频播放设备220发送音视频播放进度获取消息,以分别获取每个音视频播放设备220的播放进度信息;其中,播放进度信息包括当前播放音视频序号以及当前播放音视频进度;
以及基于每个音视频播放设备220的当前播放音视频序号,确定同步音视频序号;以及,确定消息服务器230与音视频播放设备220之间的消息传输时间,并根据消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;将同步音视频序号以及同步音视频进度,同时发送到每个音视频播放设备。
图3为本申请实施例提供的一种基于消息通讯的音视频同步设备结构示意图,如图3所示,基于消息通讯的音视频同步设备300包括:
至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有能够被至少一个处理器301执行的指令,以使至少一个处理器能够执行:
基于第一预设时间间隔,向连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的播放进度信息;其中,播放进度信息包括当前播放音视频序号以及当前播放音视频进度;
基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;
确定消息服务器与音视频播放设备之间的消息传输时间,并根据消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;
将同步音视频序号以及同步音视频进度,同时发送到每个音视频播放设备,以使每个音视频播放设备根据同步音视频序号以及同步音视频进度,调整音视频播放进度。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请的实施例可以有各种更改和变化。凡在本申请实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种基于消息通讯的音视频同步方法,其特征在于,所述方法包括:
消息服务器基于第一预设时间间隔,向与所述消息服务器连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的音视频播放进度信息;其中,所述音视频播放进度信息包括当前播放音视频序号以及当前播放音视频进度;
所述消息服务器基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;以及确定所述消息服务器与每个音视频播放设备之间的消息传输时间;
所述消息服务器根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;并将所述同步音视频序号以及所述同步音视频进度,同时发送到每个音视频播放设备,以便所述每个音视频播放设备根据所述同步音视频序号以及所述同步音视频进度,调整音视频播放进度;
每个音视频播放设备基于第二预设时间间隔,分别获取正在播放的音视频文件的播放进度;其中,所述播放进度为,所述音视频文件的进度条所显示的音视频播放进度;
并计算所述正在播放的音视频文件的已播放时间与播放进度之间的第一差值;其中,所述已播放时间为,所述音视频文件从开始播放到当前时刻所经过的时间;
若所述第一差值的绝对值大于第一预设阈值,则将所述正在播放的音视频文件的播放进度调整为所述已播放时间;若所述第一差值的绝对值小于等于第一预设阈值,则不对所述正在播放的音视频文件的播放进度进行调整。
2.根据权利要求1所述的一种基于消息通讯的音视频同步方法,其特征在于,在消息服务器基于第一预设时间间隔,向与所述消息服务器连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的音视频播放进度信息之前,所述方法还包括:
每个音视频播放设备在音视频服务器中获取需要播放的音视频文件,并保存在音视频文件列表中;
所述每个音视频播放设备向所述消息服务器发送等待播放消息;
所述消息服务器在接收到所有音视频播放设备的等待播放消息后,向每个音视频播放设备同时发送开始播放消息,以便所有音视频播放设备基于所述开始播放消息,同时开始播放所述音视频文件列表中的音视频文件,并分别记录当前播放的音视频文件的已播放时间;
其中,所述音视频文件的播放方式为列表循环播放。
3.根据权利要求1所述的一种基于消息通讯的音视频同步方法,其特征在于,所述消息服务器基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号,具体包括:
所述消息服务器根据预设的选举规则,在每个音视频播放设备的当前播放音视频序号中选举出所述同步音视频序号;其中,所述选举规则至少包括以下任一项:最先回复规则、多票优先规则;
其中,所述最先回复规则为:所述消息服务器将第一个回复消息的音视频播放设备对应的当前播放音视频序号,确定为所述同步音视频序号;
所述多票优先规则为:所述消息服务器在所有音视频播放设备正在播放的音视频文件中,确定出现次数最多的音视频文件的序号,并将所述序号确定为所述同步音视频序号。
4.根据权利要求3所述的一种基于消息通讯的音视频同步方法,其特征在于,确定所述消息服务器与每个音视频播放设备之间的消息传输时间,具体包括:
所述消息服务器记录发送所述音视频播放进度获取消息时的第一时间戳;
在接收到所述第一个回复消息的音视频播放设备回复的播放进度信息的同时,记录对应的第二时间戳;
计算所述第二时间戳与所述第一时间戳之间的第二差值,并将所述第二差值确定为所述消息服务器与每个音视频播放设备之间的消息传输时间。
5.根据权利要求1所述的一种基于消息通讯的音视频同步方法,其特征在于,所述消息服务器根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度,具体包括:
所述消息服务器将第一个回复消息的音视频播放设备的当前播放音视频进度确定为统一播放进度;
并将所述统一播放进度与所述消息传输时间相加,得到所述同步音视频进度。
6.根据权利要求1所述的一种基于消息通讯的音视频同步方法,其特征在于,所述每个音视频播放设备根据所述同步音视频序号以及所述同步音视频进度,调整播放进度,具体包括:
在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号相同的情况下,所述当前音视频播放设备根据所述同步音视频进度,调整所述正在播放的音视频文件的播放进度;
在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号不相同的情况下,所述当前音视频播放设备播放所述同步音视频序号对应的音视频文件,并将所述音视频文件的播放进度调整为所述同步音视频进度。
7.根据权利要求6所述的一种基于消息通讯的音视频同步方法,其特征在于,在所述同步音视频序号与当前音视频播放设备正在播放的音视频文件的序号相同的情况下,所述当前音视频播放设备根据所述同步音视频进度,调整所述正在播放的音视频文件的播放进度,具体包括:
所述当前音视频播放设备获取所述正在播放的音视频文件的当前进度;并计算所述当前进度与所述同步音视频进度之间的第三差值;
若所述第三差值的绝对值大于第二预设阈值,则将所述正在播放的音视频文件的当前进度调整为所述同步音视频进度。
8.一种基于消息通讯的音视频同步系统,其特征在于,所述系统包括:
消息服务器,用于基于第一预设时间间隔,向连接的每个音视频播放设备发送音视频播放进度获取消息,以分别获取每个音视频播放设备的播放进度信息;其中,所述播放进度信息包括当前播放音视频序号以及当前播放音视频进度;以及基于每个音视频播放设备的当前播放音视频序号,确定同步音视频序号;以及,确定所述消息服务器与所述音视频播放设备之间的消息传输时间,并根据所述消息传输时间以及每个音视频播放设备的当前播放音视频进度,确定同步音视频进度;将所述同步音视频序号以及所述同步音视频进度,同时发送到每个音视频播放设备;
音视频播放设备,用于根据所述同步音视频序号以及所述同步音视频进度,调整音视频播放进度;
音视频播放设备还用于基于第二预设时间间隔,分别获取正在播放的音视频文件的播放进度;其中,所述播放进度为,所述音视频文件的进度条所显示的音视频播放进度;并计算所述正在播放的音视频文件的已播放时间与播放进度之间的第一差值;所述已播放时间为,所述音视频文件从开始播放到当前时刻所经过的时间;若所述第一差值的绝对值大于第一预设阈值,则将所述正在播放的音视频文件的播放进度调整为所述已播放时间;若所述第一差值的绝对值小于等于第一预设阈值,则不对所述正在播放的音视频文件的播放进度进行调整。
9.一种基于消息通讯的音视频同步设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行根据权利要求1-7任一项所述的一种基于消息通讯的音视频同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216706.8A CN113938737B (zh) | 2021-10-19 | 2021-10-19 | 一种基于消息通讯的音视频同步方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216706.8A CN113938737B (zh) | 2021-10-19 | 2021-10-19 | 一种基于消息通讯的音视频同步方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113938737A CN113938737A (zh) | 2022-01-14 |
CN113938737B true CN113938737B (zh) | 2023-12-15 |
Family
ID=79280523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111216706.8A Active CN113938737B (zh) | 2021-10-19 | 2021-10-19 | 一种基于消息通讯的音视频同步方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938737B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969460A (zh) * | 2010-09-28 | 2011-02-09 | 同辉佳视(北京)信息技术有限公司 | 一种多屏幕视频同步播放的方法和系统 |
CN106507202A (zh) * | 2016-11-11 | 2017-03-15 | 传线网络科技(上海)有限公司 | 播放控制方法及装置 |
CN108108146A (zh) * | 2018-01-19 | 2018-06-01 | 深圳市沃特沃德股份有限公司 | 多个播放设备同步播放的方法与播放设备 |
CN109618209A (zh) * | 2018-12-25 | 2019-04-12 | 深圳创维-Rgb电子有限公司 | 视频同步播放方法、设备及计算机可读存储介质 |
CN111247753A (zh) * | 2017-10-23 | 2020-06-05 | 伯斯有限公司 | 多个音频设备的同步 |
CN111541926A (zh) * | 2020-05-08 | 2020-08-14 | 浙江大华技术股份有限公司 | 多媒体文件的播放方法、装置、存储介质及电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10616624B2 (en) * | 2017-03-01 | 2020-04-07 | Rhinobird Inc. | Multi-angle video synchronization and multi-angle video interface |
US11343629B2 (en) * | 2018-12-11 | 2022-05-24 | Sonixio, Inc. | Systems and methods for automatic synchronization of content between a player system and a listener system |
-
2021
- 2021-10-19 CN CN202111216706.8A patent/CN113938737B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969460A (zh) * | 2010-09-28 | 2011-02-09 | 同辉佳视(北京)信息技术有限公司 | 一种多屏幕视频同步播放的方法和系统 |
CN106507202A (zh) * | 2016-11-11 | 2017-03-15 | 传线网络科技(上海)有限公司 | 播放控制方法及装置 |
CN111247753A (zh) * | 2017-10-23 | 2020-06-05 | 伯斯有限公司 | 多个音频设备的同步 |
CN108108146A (zh) * | 2018-01-19 | 2018-06-01 | 深圳市沃特沃德股份有限公司 | 多个播放设备同步播放的方法与播放设备 |
CN109618209A (zh) * | 2018-12-25 | 2019-04-12 | 深圳创维-Rgb电子有限公司 | 视频同步播放方法、设备及计算机可读存储介质 |
CN111541926A (zh) * | 2020-05-08 | 2020-08-14 | 浙江大华技术股份有限公司 | 多媒体文件的播放方法、装置、存储介质及电子装置 |
Non-Patent Citations (3)
Title |
---|
Precise synchronization mechanism in wireless devices;Jeik Kim;Avinash Singh;Byung-Keuk Lim;Nishchal;《2018 International Conference on Electronics, Information, and Communication (ICEIC)2018 International Conference on Electronics, Information, and Communication (ICEIC)》;1-4 * |
基于RTP/RTCP的协同多终端同步问题解决方案;吕冬冬;梁林;李龙凤;《电信快报》(第3期);43-48 * |
多终端协同同步技术研究;吕冬冬;《中国优秀硕士学位论文全文数据库 信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113938737A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106604065B (zh) | 一种实现多屏幕同屏播放视频的系统及方法 | |
JP5652734B2 (ja) | 表示デバイス及び携帯デバイスへのコンテンツの同期通信のための装置、システム及び方法 | |
KR20140066641A (ko) | 서버, 멀티미디어 기기 및 그들의 제어방법 | |
CN112822503B (zh) | 直播视频流的播放方法、装置、设备及存储介质 | |
CN109168059B (zh) | 一种在不同设备上分别播放音频与视频的唇音同步方法 | |
US6346048B1 (en) | Game system, game machine, game data distribution machine, image data distribution system, and computer-usable information | |
US20080152309A1 (en) | Method and apparatus for audio/video synchronization | |
KR100981378B1 (ko) | 비디오 데이터 및 보조 데이터의 판독-동기화를 위한 디바이스 및 방법, 및 이와 연관된 제품 | |
KR102566550B1 (ko) | 복수의 커넥티드 장치 간 디지털 콘텐츠의 재생 동기화를 맞추는 방법 및 이를 이용한 장치 | |
CN112929713B (zh) | 数据同步方法、装置、终端及存储介质 | |
WO2012018300A2 (en) | Synchronized playback of media files | |
CN101232611A (zh) | 图像处理设备及其方法 | |
CN113852824A (zh) | 视频转码方法、装置、电子设备和存储介质 | |
KR101888464B1 (ko) | 다중 동기화를 지원하는 멀티비전 시스템 | |
DE69927095T2 (de) | HDTV-Rahmensynchronisierungssystem ,das ein sauberes digitales Signal liefert ohne variable Verzögerung | |
CN113938737B (zh) | 一种基于消息通讯的音视频同步方法、系统及设备 | |
CN103514922A (zh) | 音频播放的方法、媒体控制器、媒体播放器及媒体服务器 | |
KR100927447B1 (ko) | 디지털 멀티비전 시스템 | |
US20190394539A1 (en) | Systems and methods for proximal multimedia event synchronization | |
CN112770141B (zh) | 移动设备的视频投放方法、装置及计算机可读存储介质 | |
CN111726669B (zh) | 一种分布式解码设备及其音视频同步的方法 | |
CN114760485B (zh) | 视频轮播方法、系统及相关设备 | |
US20220013131A1 (en) | Method, a system, and a program for playing back audio/video signals with automatic adjustment of latency | |
JP2011004015A (ja) | 再生装置およびコンテンツ再生方法 | |
US20230396813A1 (en) | System and method for synchronized data playback and aircraft |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |