CN112188258B - 暂停同步方法及装置、存储介质、用户端、多设备播放系统 - Google Patents

暂停同步方法及装置、存储介质、用户端、多设备播放系统 Download PDF

Info

Publication number
CN112188258B
CN112188258B CN202011003889.0A CN202011003889A CN112188258B CN 112188258 B CN112188258 B CN 112188258B CN 202011003889 A CN202011003889 A CN 202011003889A CN 112188258 B CN112188258 B CN 112188258B
Authority
CN
China
Prior art keywords
pause
ideal
playing
playing progress
progress information
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
Application number
CN202011003889.0A
Other languages
English (en)
Other versions
CN112188258A (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.)
Shanghai Shangtai Automobile Information System Co ltd
Original Assignee
Shanghai Shangtai Automobile Information System 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 Shanghai Shangtai Automobile Information System Co ltd filed Critical Shanghai Shangtai Automobile Information System Co ltd
Priority to CN202011003889.0A priority Critical patent/CN112188258B/zh
Publication of CN112188258A publication Critical patent/CN112188258A/zh
Application granted granted Critical
Publication of CN112188258B publication Critical patent/CN112188258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47217End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client

Abstract

一种暂停同步方法及装置、存储介质、用户端、多设备播放系统,所述方法包括:从服务器接收暂停命令以及理想播放进度信息;执行所述暂停命令;确定实际播放进度信息;计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;根据所述待调整播放量,向前调整暂停进度。本发明可以有效实现向前调整,提高实施可行性。

Description

暂停同步方法及装置、存储介质、用户端、多设备播放系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种暂停同步方法及装置、存储介质、用户端、多设备播放系统。
背景技术
在展览馆、室外广告牌、公共交通工具、智能家电,车载影音这些场景中,经常会用到多台设备播放同一个多媒体文件的情形,多台设备同时显示相同的画面并播放相同的声音。如果画面和声音的同步误差非常小,可以带来更加震撼的感觉,令人印象深刻。
然而,在现有的多设备播放系统中,往往同步精度不足,尤其在暂停后恢复播放的过程中,更容易发生不同的用户端播放进度不一致的问题,难以满足用户需求。
亟需一种暂停同步方法,可以有效提高实施可行性。
发明内容
本发明解决的技术问题是提供一种暂停同步方法及装置、存储介质、用户端、多设备播放系统,可以有效实现向前调整,提高实施可行性。
为解决上述技术问题,本发明实施例提供一种暂停同步方法,包括以下步骤:从服务器接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;执行所述暂停命令;确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;根据所述待调整播放量,向前调整暂停进度。
可选的,根据所述待调整播放量,向前调整暂停进度包括:根据所述待调整播放量,确定待调整的帧数;根据所述待调整的帧数,向前逐帧调整所述暂停进度。
可选的,根据所述待调整播放量,确定待调整的帧数包括:确定最近播放的数据块的持续播放时长;确定所述待调整播放量与所述持续播放时长的商值,作为所述待调整的帧数。
可选的,所述预设调整时长是根据网络延迟信息确定的;其中,所述网络延迟信息用于指示从所述服务端发送所述理想播放进度信息至用户端接收到所述理想播放进度信息之间的时间差值。
可选的,采用下述不等式,确定所述预设调整时长:
S0≥net_delay-disp_delay+GAP
其中,S0用于表示所述预设调整时长,GAP用于表示同步进度差值,net_delay用于表示网络延迟信息,disp_delay用于表示播放延迟信息,所述播放延迟信息用于指示所述用户端播放所述待播放文件中的数据块时,所述用户端与播放设备之间的延迟,所述同步进度差值用于指示在暂停后所述服务器与用户端之间的实际播放差值。
可选的,采用下述公式,确定所述同步进度差值:
GAP=(stream_time+disp_delay)-(ideal_pos+net_delay)
其中,GAP用于表示所述同步进度差值,stream_time用于表示所述实际播放进度信息,disp_delay用于表示所述播放延迟信息,ideal_pos用于表示所述理想播放进度信息,net_delay用于表示所述网络延迟信息。
可选的,所述预设调整时长为预设时长内所述网络延迟信息的最大值。
可选的,所述预设调整时长为固定值。
可选的,所述暂停命令为快进过程中的暂停命令;采用下述公式,确定快进后的理想播放进度信息:
ideal_pos 1=ideal_pos+T×n;
ideal_pos 1用于表示所述快进后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
可选的,所述暂停命令为快退过程中的暂停命令;采用下述公式,确定快退后的理想播放进度信息:
ideal_pos 2=ideal_pos-T×n;
ideal_pos 2用于表示所述快退后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
可选的,在确定所述理想播放进度信息之前,所述的暂停同步方法还包括:从服务端接收所述定时器的首次触发时间。
可选的,所述暂停命令选自:直接暂停命令、跳转后暂停命令、快进后暂停命令、快退后暂停命令、快进过程中的暂停命令、快退过程中的暂停命令。
为解决上述技术问题,本发明实施例提供一种暂停同步装置,包括:接收模块,用于从服务器接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;执行模块,用于执行所述暂停命令;确定模块,用于确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;计算模块,用于计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;调整模块,用于根据所述待调整播放量,向前调整暂停进度。
为解决上述技术问题,本发明实施例提供一种多设备播放系统,包括:服务端以及与所述服务端耦接的多个用户端;所述用户端执行上述暂停同步方法;其中,所述多个用户端采用相同的预设调整时长。
为解决上述技术问题,本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述暂停同步方法的步骤。
为解决上述技术问题,本发明实施例提供一种用户端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述暂停同步方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,通过计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0,可以实现向前调整暂停进度,相比于现有技术中直接根据理想播放进度信息减去实际播放进度信息的差值进行调整,大概率存在向后调整暂停进度,导致难以实现的情况,采用本发明实施例的方案,可以有效实现向前调整,提高实施可行性。
进一步,根据所述待调整播放量,确定待调整的帧数;根据所述待调整的帧数,向前逐帧调整所述暂停进度。采用本发明实施例的方案,可以通过设置逐帧调整,有效提高调整精度,从而使得每个用户端均调整至最合适的帧,进一步提高同步调整精准性。
进一步,根据网络延迟信息,确定所述预设调整时长,可以有效地考虑到网络延迟是导致用户端需要向后调整暂停进度的重要原因之一,从而通过添加所述预设调整时长,进一步提高待调整播放量大于等于0的可能性,也即有更大的机会实现向前调整暂停进度。
进一步,所述预设调整时长为预设时长内所述网络延迟信息的最大值,可以有效考虑到在具体实施中-disp_delay以及GAP在计算时都是作为负数进行运算的情况,对预设调整时长的计算进行有效简化。
附图说明
图1是本发明实施例中一种暂停同步方法的流程图;
图2是本发明实施例中一种暂停同步装置的结构示意图;
图3是本发明实施例中一种多设备播放系统的结构示意图。
具体实施方式
如前所述,在现有的多种暂停同步方法中,多存在精准度不高的问题,难以满足用户需求。
在现有技术的一种具体实施方式中,设置在多设备播放系统中分配主播放设备和从播放设备,当从播放设备与主播放设备的播放进度不同步时,则根据与主播放设备的播放进度差值,更改从播放设备数据缓冲区的指针指向。更改指针指向后,便对应更改了从播放设备的管道时间。对于即将写入数据缓冲区的音视频数据,如果其时间戳小于更改后的管道时间,则将其丢弃,进而实现与主播放设备的快速同步;相反,则将其写入对应的音视频缓存区,进而实现等待与主播放设备的同步。
进一步地,当需要在暂停后恢复播放时,确定主播放设备当前的播放进度以及从播放设备当前的播放进度,进而使从播放设备与主播放设备对齐,以实现与主播放设备之间的同步。然而上述技术方案同步精度不足,尤其在暂停后恢复播放的过程中,更容易发生不同的用户端播放进度不一致的问题,难以满足用户需求。
本发明的发明人经过研究发现,在上述现有技术中,设置从播放设备向主播放设备看齐,直接根据主播放设备的播放进度信息减去从播放设备的播放进度信息的差值进行调整,由于存在网络延迟等问题,通常从播放设备播放进度往往较快,导致采用现有技术中的方案,会大概率存在需要从播放设备向后调整暂停进度(即执行后退)的情况,众所周知的是,向后调整往往存在难度较大、成本较高、调整精度较低等问题。
在本发明实施例中,通过计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0,可以实现向前调整暂停进度,相比于现有技术中直接根据理想播放进度信息减去实际播放进度信息的差值进行调整,大概率存在向后调整暂停进度,导致难以实现的情况,采用本发明实施例的方案,可以有效实现向前调整,提高实施可行性。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,图1是本发明实施例中一种暂停同步方法的流程图。所述暂停同步方法可以包括步骤S11至步骤S15:
步骤S11:从服务器接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;
步骤S12:执行所述暂停命令;
步骤S13:确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;
步骤S14:计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;
步骤S15:根据所述待调整播放量,向前调整暂停进度。
在步骤S11的具体实施中,可以由服务端经过计算确定的待播放文件的播放进度,记为理想播放进度,并将所述理想播放进度信息发送给用户端。
具体地,服务端可以是通过广播方式发送的。
需要指出的是,所述理想播放进度为仅采用计算方式确定的进度的理论值,不受到真实播放时的卡顿、延迟等因素的影响,具有更高的精准性。
其中,服务端自身可以真实播放所述待播放文件,然而由于提供的理想播放进度为理论值,播放的进度为实际值,两者可以不一致;服务端自身还可以不真实播放所述待播放文件,仅仅提供所述理想播放进度。
用户端可以从服务端接收理想播放进度信息,并作为同步对准的目标对象。需要指出的是,所述用户端可以应用于多设备播放系统,例如为一个服务端对应于多个用户端,所述多个用户端之间同步播放。
所述暂停命令可以是基于某一用户端的请求发出的,例如当多设备播放系统中的某一用户端需要暂停时,可以向服务端发出暂停请求,进而由服务端基于该暂停请求向所有的用户端发出暂停命令。
在步骤S12的具体实施中,执行所述暂停命令。
需要指出的是,服务端发出暂停命令之后,用户端接收并执行所述暂停命令,其间往往存在延迟,例如为网络延迟。
在步骤S13的具体实施中,用户端确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度。
在具体实施中,用户端可以采用常规方式确定自身的实际播放进度信息。例如所述待播放文件可以包含多个数据块。用户端可以包含多个子模块,所述实际播放进度信息可以选自其中一个子模块输出的数据块在所述待播放文件中的偏移。
在本发明实施例中的一种具体实施方式中,所述用户端可以包含读取(read)子模块、解析(analysis)子模块、解码(decode)子模块以及输出(output)子模块;所述实际播放进度信息可以为所述输出子模块输出的数据块(Data Block)在所述待播放文件中的偏移;其中,所述读取子模块用于读取所述待播放文件,所述解析子模块用于对所述待播放文件中的各个数据块添加时间戳,所述解码子模块用于对所述待播放文件进行解码,所述输出子模块用于向所述播放设备输出所述待播放文件。
在步骤S14的具体实施中,用户端可以计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0。
需要指出的是,由于存在网络延迟等问题,通常存在服务端先在理想播放进度的基础上执行暂停,而用户端此时仍在播放实际播放进度的情况,这种情况下理想播放进度信息减去实际播放进度信息的差值往往为负数,导致用户端需要向后调整暂停进度才能实现同步,然而向后调整往往存在难度较大、成本较高、实施可行性较低等问题。
具体的,可以采用下述公式表示步骤S14示出的技术方案:
pauseGAP=(ideal_pos+S0)-stream_time
其中,pauseGAP用于表示所述待调整播放量,即用户端需要对播放进度进行调整的量,ideal_pos用于表示所述理想播放进度信息,S0用于表示所述预设调整时长,stream_time用于表示所述实际播放进度信息。
进一步地,所述预设调整时长可以是根据网络延迟信息确定的;其中,所述网络延迟信息用于指示从所述服务端发送所述理想播放进度信息至用户端接收到所述理想播放进度信息之间的时间差值。
在本发明实施例中,根据网络延迟信息,确定所述预设调整时长,可以有效地考虑到网络延迟是导致用户端需要向后调整暂停进度的重要原因之一,从而通过添加所述预设调整时长,进一步提高待调整播放量大于等于0的可能性,也即有更大的机会实现向前调整暂停进度。
进一步地,可以采用下述不等式,确定所述预设调整时长:
S0≥net_delay-disp_delay+GAP
其中,S0用于表示所述预设调整时长,GAP用于表示同步进度差值,net_delay用于表示网络延迟信息,disp_delay用于表示播放延迟信息,所述播放延迟信息用于指示所述用户端播放所述待播放文件中的数据块时,所述用户端与播放设备之间的延迟,所述同步进度差值用于指示在暂停后所述服务器与用户端之间的实际播放差值。
在本发明实施例中,通过设置预设调整时长需要大于等于根据网络延迟以及播放延迟的差值加上同步进度差值的和,可以在充分考虑网络延迟以及播放延迟的基础上,确定所述预设调整时长。
其中,所述同步进度差值(GAP)可以用于指示服务端与用户端在播放同一音视频文件时,服务端与用户端之间存在的进度差值。例如可以是由于网络延迟以及播放设备延迟的存在导致的。
进一步地,可以采用下述公式,确定同步进度差值:
GAP=(stream_time+disp_delay)-(ideal_pos+net_delay)
其中,GAP用于表示所述同步进度差值,stream_time用于表示所述实际播放进度信息,disp_delay用于表示所述播放延迟信息,ideal_pos用于表示所述理想播放进度信息,net_delay用于表示所述网络延迟信息。
本发明的发明人经过研究进一步发现,采用上述公式确定每个用户端的预设调整时长,进而基于一个或多个用户端各自的预设调整时长,确定待调整播放量,容易导致运算量过于复杂。并且,每次暂停后的预设调整时长并不固定,每次均需各个用户端通过计算确定,对于用户端的运算能力和运算效率要求较高。
进一步地,在本发明实施例的一种具体实施方式中,可以设置所述预设调整时长为预设时长内所述网络延迟信息的最大值。
具体地,-disp_delay以及GAP在计算时都是作为负数进行运算的,也即只要S0≥net_delay,就必然满足S0≥net_delay-disp_delay+GAP。
在本发明实施例中,通过设置所述预设调整时长为预设时长内所述网络延迟信息的最大值,可以有效考虑到在具体实施中-disp_delay以及GAP在计算时都是作为负数进行运算的情况,对预设调整时长的计算进行有效简化。
进一步地,在本发明实施例的另一种具体实施方式中,可以设置所述预设调整时长为固定值。
可以理解的是,所述预设调整时长不应当设置过大,否则会导致同步效率较低;所述预设调整时长不应当设置过小,否则会影响同步精准性。作为一个非限制性的例子,可以设置所述预设调整时长为180ms至250ms,例如设置所述预设调整时长为200ms。
在本发明实施例中,通过设置所述预设调整时长为固定值,可以在预先考虑到-disp_delay以及GAP的影响的基础上,设置一个较大的固定值,从而对预设调整时长的计算进行有效简化,有利于降低对用户端的运算能力的需求。
在步骤S15的具体实施中,用户端可以根据所述待调整播放量,向前调整暂停进度。
在本发明实施例中,通过计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0,可以实现向前调整暂停进度,相比于现有技术中直接根据理想播放进度信息减去实际播放进度信息的差值进行调整,大概率存在向后调整暂停进度,导致调整精度较低的情况,采用本发明实施例的方案,可以有效实现向前调整,提高实施可行性。
进一步地,根据所述待调整播放量,向前调整暂停进度的步骤可以包括:根据所述待调整播放量,确定待调整的帧数;根据所述待调整的帧数,向前逐帧调整所述暂停进度。
在本发明实施例中,根据所述待调整播放量,确定待调整的帧数;根据所述待调整的帧数,向前逐帧调整所述暂停进度。采用本发明实施例的方案,可以通过设置逐帧调整,有效提高调整精度,从而使得每个用户端均调整至最合适的帧,进一步提高同步调整精准性。
更进一步地,根据所述待调整播放量,确定待调整的帧数的步骤可以包括:确定最近播放的数据块的持续播放时长;确定所述待调整播放量与所述持续播放时长的商值,作为所述待调整的帧数。
具体地,可以采用下述公式确定所述待调整的帧数:
Frames=pauseGAP÷duration
其中,Frames用于表示所述待调整的帧数,pauseGAP用于表示所述待调整播放量,即用户端需要对播放进度进行调整的量,duration用于表示最近播放的数据块的持续播放时长。
需要指出的是,数据块的持续播放时长可以是提前获取的,不用计算即可直接确定。例如视频为30fps,则数据块的持续播放时长可以是1000ms/30=33.3333ms。
进一步地,所述暂停命令可以选自:直接暂停命令、跳转后暂停命令、快进后暂停命令、快退后暂停命令、快进过程中的暂停命令、快退过程中的暂停命令。
可以理解的是,所述快进(快退)后暂停命令中可以包含快进(快退)后到达的终点位置(例如播放进度为第几秒),并在终点位置处执行暂停命令,则用户端可以根据终点位置这一信息进行同步,运算复杂度较低。
所述快进(快退)过程中的暂停命令中可以包含快进(快退)命令的开始执行位置(如在某一系统时间执行)、快进(快退)次数、每次快进(快退)的时长等,然后用户端通过计算或执行快进(快退)得到每次快进(快退)跳转的位置,并在该位置处进行同步。可以理解的是,由于需要用户端单次或多次确定跳转位置,运算复杂度较高。
其中,在直接暂停命令的情况下,可以执行如图1示出的暂停同步方法;在快进后暂停命令以及快退后暂停命令的情况下,可以在快进(快退)结束后,执行暂停命令,然后执行如图1示出的暂停同步方法。
在跳转后暂停命令的情况下,可以由服务端将跳转命令以及理想播放进度一起广播发给所有用户端,用户端收到命令后,先执行跳转操作,然后在跳转结束后执行暂停命令,然后执行如图1示出的暂停同步方法。
在快进过程中的暂停命令、快退过程中的暂停命令的情况下,用户端需要基于确定快进(快退)命令,通过计算确定快进(快退)后的理想播放进度。
在本发明实施例的第一种具体实施方式中,所述暂停命令为快进过程中的暂停命令;采用下述公式,确定快进后的理想播放进度信息:
ideal_pos 1=ideal_pos+T×n;
ideal_pos 1用于表示所述快进后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
更进一步地,在确定所述理想播放进度信息之前,还可以包括:用户端从服务端接收所述定时器的首次触发时间。
需要指出的是,在第一种具体实施方式中,采用的是固定时间间隔的等距离跳转后暂停操作来获得快进效果,服务端可以将快进命令,理想播放进度信息以及所述定时器的首次触发时间,一起发送给用户端。
其中,所述定时器的首次触发时间即为定时器第一次触发的系统时间(firstShotTime),可以是采用广播方式发送的。
当所述用户端属于多设备播放系统时,多个用户端之间可以基于所述定时器的首次触发时间同时开始执行快进,提高同步的精准度。
具体地,用户端收到快进过程中的暂停命令后,可以启动间隔为T的定时器,且指定定时器第一次触发的系统时间为首次触发时间(firstShotTime),进而在每次定时器触发时进行跳转操作,经历n次跳转后的终点位置为ideal_pos 1。
在本发明实施例中,通过设置采用上述公式确定快进后的理想播放进度信息,可以精准地实现对快进过程中的暂停命令后恢复播放的同步。
在本发明实施例的第二种具体实施方式中,所述暂停命令为快退过程中的暂停命令;采用下述公式,确定快退后的理想播放进度信息:
ideal_pos 2=ideal_pos-T×n;
ideal_pos 2用于表示所述快退后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
更进一步地,在确定所述理想播放进度信息之前,还可以包括:用户端从服务端接收所述定时器的首次触发时间。
需要指出的是,在第一种具体实施方式中,采用的是固定时间间隔的等距离跳转后暂停操作来获得快退效果,服务端可以将快退命令,理想播放进度信息以及所述定时器的首次触发时间,一起发送给用户端。
具体地,用户端收到快退过程中的暂停命令后,可以启动间隔为T的定时器,且指定定时器第一次触发的系统时间为firstShotTime,进而在每次定时器触发时进行跳转操作,经历n次跳转后的终点位置为ideal_pos 1。
在本发明实施例中,通过设置采用上述公式确定快退后的理想播放进度信息,可以精准地实现对快退过程中的暂停命令后恢复播放的同步。
有关快退过程中的暂停命令涉及的实施例的更多内容,请参照前文以及快进过程中的暂停命令涉及的实施例的执行方式,此处不再赘述。
参照图2,图2是本发明实施例中一种暂停同步装置的结构示意图。所述暂停同步装置可以包括:
接收模块21,用于从服务器接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;
执行模块22,用于执行所述暂停命令;
确定模块23,用于确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;
计算模块24,用于计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;
调整模块25,用于根据所述待调整播放量,向前调整暂停进度。
关于该暂停同步装置的原理、具体实现和有益效果请参照前文描述的关于暂停同步方法的相关描述,此处不再赘述。
在本发明实施例中,还公开了一种多设备播放系统,包括:服务端以及与所述服务端耦接的多个用户端;所述用户端执行上述暂停同步方法;其中,所述多个用户端采用相同的预设调整时长。
参照图3,图3是本发明实施例中一种多设备播放系统的结构示意图。所述多设备播放系统可以包括服务端31以及与所述服务端31耦接的多个用户端32,还可以包括多个播放设备33,所述用户端32与各自的播放设备33耦接,用于通过自己的播放设备33播放音视频。
在本发明实施例中,通过设置所述多个用户端32采用相同的预设调整时长,且每个用户端32的待调整播放量均大于等于0,可以在减少各个用户端32的运算复杂度的同时,各个用户端均通过向前调整暂停进度实现同步,从而有效降低对各个用户端的运算能力的需求以及同步调整能力的需求,也即降低了多设备播放系统的成本。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。所述存储介质可以是计算机可读存储介质,例如可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
本发明实施例还提供了一种用户端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。所述用户端包括但不限于手机、计算机、平板电脑等终端设备。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (15)

1.一种暂停同步方法,其特征在于,包括以下步骤:
从服务端接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;
执行所述暂停命令;
确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;
计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;
根据所述待调整播放量,向前调整暂停进度;
其中,所述预设调整时长是根据网络延迟信息确定的;
所述网络延迟信息用于指示从所述服务端发送所述理想播放进度信息至用户端接收到所述理想播放进度信息之间的时间差值;
所述网络延迟信息指示的时间差值越大,所述预设调整时长越大。
2.根据权利要求1所述的暂停同步方法,其特征在于,根据所述待调整播放量,向前调整暂停进度包括:
根据所述待调整播放量,确定待调整的帧数;
根据所述待调整的帧数,向前逐帧调整所述暂停进度。
3.根据权利要求2所述的暂停同步方法,其特征在于,根据所述待调整播放量,确定待调整的帧数包括:
确定最近播放的数据块的持续播放时长;
确定所述待调整播放量与所述持续播放时长的商值,作为所述待调整的帧数。
4.根据权利要求1所述的暂停同步方法,其特征在于,采用下述不等式,确定所述预设调整时长:
S0≥net_delay-disp_delay+GAP
其中,S0用于表示所述预设调整时长,GAP用于表示同步进度差值,net_delay用于表示网络延迟信息,disp_delay用于表示播放延迟信息,所述播放延迟信息用于指示所述用户端播放所述待播放文件中的数据块时,所述用户端与播放设备之间的延迟,所述同步进度差值用于指示在暂停后所述服务端与用户端之间的实际播放差值。
5.根据权利要求4所述的暂停同步方法,其特征在于,采用下述公式,确定所述同步进度差值:
GAP=(stream_time+disp_delay)-(ideal_pos+net_delay)
其中,GAP用于表示所述同步进度差值,stream_time用于表示所述实际播放进度信息,disp_delay用于表示所述播放延迟信息,ideal_pos用于表示所述理想播放进度信息,net_delay用于表示所述网络延迟信息。
6.根据权利要求1所述的暂停同步方法,其特征在于,所述预设调整时长为预设时长内所述网络延迟信息的最大值。
7.根据权利要求1所述的暂停同步方法,其特征在于,所述预设调整时长为固定值。
8.根据权利要求1所述的暂停同步方法,其特征在于,所述暂停命令为快进过程中的暂停命令;
采用下述公式,确定快进后的理想播放进度信息:
ideal_pos 1=ideal_pos+T×n;
ideal_pos 1用于表示所述快进后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
9.根据权利要求1所述的暂停同步方法,其特征在于,所述暂停命令为快退过程中的暂停命令;
采用下述公式,确定快退后的理想播放进度信息:
ideal_pos 2=ideal_pos-T×n;
ideal_pos 2用于表示所述快退后的理想播放进度信息,ideal_pos用于表示所述理想播放进度信息,T用于指示所述用户端的定时器的间隔,n用于表示所述定时器触发的次数。
10.根据权利要求8或9所述的暂停同步方法,其特征在于,在确定所述理想播放进度信息之前,还包括:
从所述服务端接收所述定时器的首次触发时间。
11.根据权利要求1所述的暂停同步方法,其特征在于,所述暂停命令选自:直接暂停命令、跳转后暂停命令、快进后暂停命令、快退后暂停命令、快进过程中的暂停命令、快退过程中的暂停命令。
12.一种暂停同步装置,其特征在于,包括:
接收模块,用于从服务端接收暂停命令以及理想播放进度信息,所述理想播放进度信息用于指示所述服务端经过计算确定的待播放文件的播放进度;
执行模块,用于执行所述暂停命令;
确定模块,用于确定实际播放进度信息,所述实际播放进度信息用于指示用户端输出所述待播放文件的播放进度;
计算模块,用于计算所述理想播放进度信息减去实际播放进度信息的差值,然后在所述差值的基础上增加预设调整时长,以得到待调整播放量,并使所述待调整播放量大于等于0;
调整模块,用于根据所述待调整播放量,向前调整暂停进度;
其中,所述预设调整时长是根据网络延迟信息确定的;
所述网络延迟信息用于指示从所述服务端发送所述理想播放进度信息至用户端接收到所述理想播放进度信息之间的时间差值;
所述网络延迟信息指示的时间差值越大,所述预设调整时长越大。
13.一种多设备播放系统,其特征在于,包括:服务端以及与所述服务端耦接的多个用户端;
所述用户端执行如权利要求1至11任一项所述暂停同步方法;
其中,所述多个用户端采用相同的预设调整时长。
14.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至11任一项所述暂停同步方法的步骤。
15.一种用户端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至11任一项所述暂停同步方法的步骤。
CN202011003889.0A 2020-09-22 2020-09-22 暂停同步方法及装置、存储介质、用户端、多设备播放系统 Active CN112188258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003889.0A CN112188258B (zh) 2020-09-22 2020-09-22 暂停同步方法及装置、存储介质、用户端、多设备播放系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003889.0A CN112188258B (zh) 2020-09-22 2020-09-22 暂停同步方法及装置、存储介质、用户端、多设备播放系统

Publications (2)

Publication Number Publication Date
CN112188258A CN112188258A (zh) 2021-01-05
CN112188258B true CN112188258B (zh) 2021-12-17

Family

ID=73955842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003889.0A Active CN112188258B (zh) 2020-09-22 2020-09-22 暂停同步方法及装置、存储介质、用户端、多设备播放系统

Country Status (1)

Country Link
CN (1) CN112188258B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103839558B (zh) * 2012-11-23 2016-08-31 三星电子(中国)研发中心 同步播放方法及服务器、播放器
CN104703036B (zh) * 2015-02-13 2018-12-11 广东欧珀移动通信有限公司 一种同步媒体文件播放进度的方法、装置及系统
CN106507202B (zh) * 2016-11-11 2019-12-17 传线网络科技(上海)有限公司 播放控制方法及装置
CN108540829B (zh) * 2018-04-12 2021-07-23 海信视像科技股份有限公司 一种多播放设备同步播放方法、系统及终端
CN109218795B (zh) * 2018-11-29 2021-09-24 海信视像科技股份有限公司 一种多设备播放进度同步方法、装置及终端设备

Also Published As

Publication number Publication date
CN112188258A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
JP7313445B2 (ja) 置換コンテンツの最後を被置換コンテンツの最後と揃えるのに役立つ置換コンテンツ再生における動的短縮
US10930318B2 (en) Gapless video looping
RU2620716C2 (ru) Синхронизация воспроизведения мультимедийного контента при групповом просмотре
CN106534952B (zh) 一种源切换后片源续播方法及智能电视
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
JP6486628B2 (ja) メディア・ストリームの同期再生を行う相互接続マルチメディア・システム
CN102883217B (zh) 控制视频播放的方法及装置
KR100985036B1 (ko) 사용자에게 더 편리한 시간-시프트 버퍼
WO2019170073A1 (zh) 媒体播放
CN104853239B (zh) 音视频同步播放控制方法和系统
US20080175559A1 (en) Image process apparatus and method thereof
CN112601127A (zh) 视频显示方法及装置、电子设备、计算机可读存储介质
CN112929713A (zh) 数据同步方法、装置、终端及存储介质
CN106331820B (zh) 音视频的同步处理方法和装置
CN112188258B (zh) 暂停同步方法及装置、存储介质、用户端、多设备播放系统
JP2008270908A (ja) 情報処理装置、その制御方法、プログラム、記憶媒体
US20190394539A1 (en) Systems and methods for proximal multimedia event synchronization
CN113014981A (zh) 视频播放方法、装置、电子设备及可读存储介质
CN112073791A (zh) 播放同步方法及装置、存储介质、用户端
US20220408140A1 (en) Moving image reproduction apparatus, moving image reproduction system, and moving image reproduction method
CN114979681A (zh) 流媒体数据的时间戳更新方法及装置
JP2000078526A (ja) 画像再生装置
CN114760485A (zh) 视频轮播方法、系统及相关设备
CN115834943B (zh) 音视频同步方法及装置
CN107852523B (zh) 用于在终端之间同步媒体渲染的方法、终端和设备

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