CN116939261A - 一种多用户的多媒体控制方法、装置、设备及介质 - Google Patents

一种多用户的多媒体控制方法、装置、设备及介质 Download PDF

Info

Publication number
CN116939261A
CN116939261A CN202210346498.1A CN202210346498A CN116939261A CN 116939261 A CN116939261 A CN 116939261A CN 202210346498 A CN202210346498 A CN 202210346498A CN 116939261 A CN116939261 A CN 116939261A
Authority
CN
China
Prior art keywords
time
client
instruction
control instruction
target
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.)
Pending
Application number
CN202210346498.1A
Other languages
English (en)
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.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology 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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202210346498.1A priority Critical patent/CN116939261A/zh
Publication of CN116939261A publication Critical patent/CN116939261A/zh
Pending legal-status Critical Current

Links

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
    • H04N21/43076Synchronising 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 of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例涉及一种多用户的多媒体控制方法、装置、设备及介质,其中该方法应用于多媒体同步的多个客户端中的第一客户端,包括:响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;获取目标客户端的时间信息,并根据时间信息将第一客户端的时间与目标客户端对齐;接收第一控制指令,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;执行目标控制指令,并当目标控制指令的发送端为第一客户端时,发送目标控制指令的同步指令至参与多媒体同步的第二客户端,以使每个客户端同步执行目标控制指令。本公开通过客户端之间的交互和时间对齐实现去中心化的多媒体同步控制,提升了控制效率以及信令传递成功率。

Description

一种多用户的多媒体控制方法、装置、设备及介质
技术领域
本公开涉及多媒体控制技术领域,尤其涉及一种多用户的多媒体控制方法、装置、设备及介质。
背景技术
随着互联网技术和多媒体技术的不断发展,多个用户可以实时同步观看多媒体,使多媒体观看体验与交互体验得到很大提升。
在多个用户实时同步看多媒体时,能够支持每个用户控制多媒体,通常是依赖于一个邀请用户进行整体的控制,为了避免邀请用户故障造成多媒体不能控制的问题,提出一种去中心化的方案。目前多用户控制同步观看的多媒体的场景下的去中心化方案主要是基于服务端实现的,通过服务端进行信令的传递来实现多媒体的同步控制,但是这种方式量级大、过程长,导致效率较低、交互成本较高。
发明内容
为了解决上述技术问题,本公开提供了一种多用户的多媒体控制方法、装置、设备及介质。
本公开实施例提供了一种多用户的多媒体控制方法,所述方法应用于多媒体同步的多个客户端中的第一客户端,包括:
响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;
获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;
接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;
执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
本公开实施例还提供了一种多用户的多媒体控制装置,所述装置设置于多媒体同步的多个客户端中的第一客户端,包括:
请求模块,用于响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;
对齐模块,用于获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;
确定模块,用于接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;
同步模块,用于执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的多用户的多媒体控制方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的多用户的多媒体控制方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的多用户的多媒体控制方案,针对多媒体同步的多个客户端中的第一客户端,响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;获取目标客户端的时间信息,并根据时间信息将第一客户端的时间与目标客户端对齐;接收第一控制指令,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;执行目标控制指令,并当目标控制指令的发送端为第一客户端时,发送目标控制指令的同步指令至参与多媒体同步的第二客户端,以使每个客户端同步执行目标控制指令,第二客户端数量为至少一个。采用上述技术方案,在多个用户同步观看多媒体的情况下,每个用户所在客户端均可以与其中一个目标客户端进行时间对齐,之后可以根据对齐后的指令时间确定执行的控制指令,并结合同步指令实现多用户的多媒体同步控制,通过客户端之间的交互和时间对齐实现去中心化的多媒体同步控制,不需要服务端参与,避免服务端链路的长过程和大量级,降低交互成本,提升了控制效率以及信令传递成功率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种多用户的多媒体控制方法的流程示意图;
图2为本公开实施例提供的另一种多用户的多媒体控制方法的流程示意图;
图3为本公开实施例提供的一种时间对齐的示意图;
图4为本公开实施例提供的另一种时间对齐的示意图;
图5为本公开实施例提供的一种多用户的多媒体控制的示意图;
图6为本公开实施例提供的一种多用户的多媒体控制装置的结构示意图;
图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
为了解决相关技术中多用户控制同步观看的多媒体的场景下通过服务端实现去中心化的问题,本公开实施例提供了一种多用户的多媒体控制方法,下面结合具体的实施例对该方法进行介绍。
图1为本公开实施例提供的一种多用户的多媒体控制方法的流程示意图,该方法可以由多用户的多媒体控制装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法应用于多媒体同步的多个客户端中的第一客户端,包括:
步骤101、响应于多媒体同步加入操作,发送时间对齐请求至目标客户端。
在多个用户同步观看相同多媒体的场景下,每个用户均支持对多媒体的控制操作,也即任意时刻均允许同步看多媒体的多个用户中的任意用户执行对多媒体的各种控制操作。本公开实施例的方法适用于上述场景下的多媒体同步的多个用户所在多个客户端中的每个客户端,也即上述第一客户端可以是多个客户端中任意客户端,多媒体同步的多个客户端的数量不限,可以根据实际情况确定。本公开实施例可以通过视频通话共享多媒体流功能、多媒体房间或直播的方式实现多用户同步观看多媒体,具体不限。
多媒体同步加入操作可以理解为用户在客户端中针对其他任意一个用户发送的多媒体同步邀请执行的表征接受邀请的操作或者自发的加入多媒体同步场景的操作,具体可以包括手势控制操作(如点击、长按、双击等)、语音控制操作或者表情控制操作等等。时间对齐请求可以是第一客户端发送的用于与目标客户端进行时间对齐的请求,目标客户端可以理解为用于在多媒体同步场景中进行时间对齐的一个参考标准,可以是多个客户端中的任意一个客户端,具体可以根据实际情况确定,例如可以为发起用户所在客户端或当前正在同步多媒体的客户端。时间对齐,又称时钟对齐,可以理解为将两个客户端的时间设置在同一时间轴,也即表征时间同步,本公开实施例中针对每个客户端均需要与目标客户端进行时间对齐。
具体地,第一客户端检测到用户的多媒体同步加入操作之后,可以发送时间对齐请求至目标客户端,以进行时间对齐。本公开实施例的多媒体可以包括视频以及由图像和/或文本组成且支持播放的媒体文件等。
步骤102、获取目标客户端的时间信息,并根据时间信息将第一客户端的时间与目标客户端对齐。
其中,时间信息可以是目标客户端接收到时间对齐请求并发送信息给第一客户端的时间,也即时间信息包括目标客户端发送信息的第一时间。
示例性的,图2为本公开实施例提供的另一种多用户的多媒体控制方法的流程示意图,如图2所示,在一种可行的实施方式中,根据时间信息将第一客户端的时间与目标客户端对齐,可以包括如下步骤:
步骤201、根据第一客户端发送时间对齐请求的第二时间以及第一客户端接收时间信息的第三时间,确定下行传输时长。
其中,下行传输时长可以理解为从目标客户端发送时间信息到第一客户端接收到时间信息之间的时长,该时长可以理解为两个客户端之间的因网络因素造成的传输时长,可以包括网络延迟的时长。
在本公开实施例中,根据第一客户端发送时间对齐请求的第二时间以及第一客户端接收时间信息的第三时间,确定下行传输时长,可以包括:将第三时间与第二时间的差值除以2,得到下行传输时长。
上述第一客户端的第三时间与第二时间的差值可以是第一客户端发送信息至接收信息之间的总时长,也是第一客户端与目标客户端之间信息传输的总时长;本公开实施例可以将该总时长除以2的时长确定为下行传输时长。具体可以通过公式dt=(t3-t2)/2计算得到,其中dt表示下行传输时长,t3表示上述第三时间,t2表示上述第二时间。
可以理解的是,由于上述总时长跟网络条件以及物理的传输链路等有关,为了减少误差,可以通过多次计算的方式获得更加精确的总时长,进而可以获得更加精确的下行传输时长。
步骤202、根据第一时间、第三时间以及下行传输时长,确定第一客户端与目标客户端之间的时间偏移。
其中,时间偏移可以理解为两个客户端之间的时间差,也即第一客户端与目标客户端之间的时间差异。该时间偏移的准确性受上述下行传输时长的准确性影响。
在本公开实施例中,根据第一时间、第三时间以及下行传输时长,确定第一客户端与目标客户端之间的时间偏移,可以包括:确定第三时间与第一时间的时间差值,并将时间差值与下行传输时长之和确定为时间偏移。
将第一时间、第三时间以及下行传输时长输入时间偏移的计算公式delay=t3-t1+dt=t3-t1+(t3-t2)/2=1.5*t3-t1-0.5*t2,delay表示第一客户端与目标客户端之间的时间偏移,t1表示上述第一时间,t3表示上述第三时间。
可选的,多用户的多媒体控制方法还可以包括:当时间偏移大于或等于时间偏移阈值,则展示对齐失败通知。其中,时间偏移阈值可以预先进行设置,例如时间偏移阈值可以设置为300毫秒。第一客户端在确定目标客户端与第一客户端之间的时间偏移之后,可以将该时间偏移与时间偏移阈值进行对比,判断该时间偏移是否大于或等于时间偏移阈值,若否,则可以进行时间对齐;若是,则说明不能进行时间对齐,可以展示对齐失败通知给用户,以使用户获知不能进行时间对齐,需要手动排除故障。
步骤203、将第一客户端的实时时间加上时间偏移,以与目标客户端实现时间对齐。
第一客户端在确定自身与目标客户端之间的时间偏移之后,可以将自身的实时时间加上该时间偏移,以与目标客户端之间实现时间同步。第一客户端的时间clock=rt+delay,rt表示第一客户端的实时时间,delay表示第一客户端与目标客户端之间的时间偏移。
示例性的,图3为本公开实施例提供的一种时间对齐的示意图,如图3所示,图中展示了第一客户端与目标客户端之间的时间对齐过程,具体过程可以包括:第一客户端可以主动发送时间对齐请求至目标客户端,并记录第二时间;目标客户端接收到时间对齐请求之后,可以将本地的时间也即图中的第一时间发送给第一客户端;第一客户端接收到目标客户端发送的第一时间之后,可以获取当前时间得到第三时间,并将上述第一时间、第二时间和第三时间输入上述时间偏移公式中,得到第一客户端与目标客户端之间的时间偏移delay,将第一客户端的实时时间rt调整为rt+delay。
本公开实施例中除目标客户端之外的每个客户端均需要与目标客户端进行时间对齐,并且当目标客户端发生变化时或者网络环境等影响客户端之间的信令传输的因素发生变化时也需要重新进行时间对齐。
步骤103、接收第一控制指令,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令。
其中,控制指令可以理解为用于对一个多媒体进行控制操作的指令,不同控制指令的指令时间、针对的多媒体以及具体地控制操作可以不同。指令时间可以是控制指令的发送时间。第一控制指令可以是多媒体同步场景中多个客户端中任意一个客户端发出的控制指令。本地指令时间可以是第一客户端中存储的第二控制指令的指令时间。目标控制指令可以是第一客户端确定的最终要存储的控制指令。
在本公开实施例中,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令,可以包括:当第一指令时间大于本地指令时间,则将第一控制指令确定为目标控制指令;否则,将本地指令时间对应的第二控制指令确定为目标控制指令。
当前客户端在与目标客户端实现时间对齐,并接收到第一控制指令之后,可以将第一控制指令的第一指令时间与本地存储的第二控制指令的本地指令时间进行比对,如果第一指令时间大于本地指令时间,则可以将第一控制指令确定为目标控制指令,本地指令时间替换为第一指令时间;否则,可以将本地的第二控制指令确定为目标控制指令,并将第一控制指令丢弃。
可以理解的是,每个客户端在接收到一个控制指令之后,如果该控制指令的指令时间小于本地指令时间,则直接丢弃;否则可以存储当前控制指令,并将本地控制指令丢弃,承诺不会接收比当前控制指令的指令时间小的控制指令。
步骤104、执行目标控制指令,并当目标控制指令的发送端为第一客户端时,发送目标控制指令的同步指令至参与多媒体同步的第二客户端,以使每个客户端同步执行目标控制指令。
其中,同步指令可以理解为用于在多个客户端中保持多媒体控制操作同步的指令。第二客户端可以是多媒体同步的多个客户端中除第一客户端之外的其他客户端,第二客户端数量为至少一个。
在本公开实施例中,发送目标控制指令的同步指令至其他客户端,可以包括:按照预设时间间隔发送目标控制指令的同步指令至第二客户端,同步指令中携带目标控制指令的指令时间。其中,预设时间间隔可以根据实际情况设置,例如预设时间间隔可以为2秒。
第一客户端在确定目标控制指令之后,可以对目标控制指令对应的多媒体执行对应的控制操作,并判断目标控制指令的发送端是否为自身,若是,则可以按照预设时间间隔发送携带目标控制指令的指令时间的同步指令至其他客户端,以使每个客户端均可以针对同一多媒体执行相同的控制操作,达到多媒体同步在多个用户的客户端播放的效果。控制操作可以包括播放操作、暂停操作以及进度控制操作等中的至少一个,具体不限。
例如,当目标控制指令为针对一个多媒体的暂停操作,每个客户端可以同步实现对该多媒体的暂停操作。可以理解的是,如果一个客户端在还未播放一个多媒体时接收到对该多媒体的暂停操作,此时可以将该多媒体渲染保持暂停状态展示。
本方案中,通过时间对齐,可以保证在多个用户同步观看多媒体的场景下的全部用户所在客户端位于同一时间轴,进而通过控制指令以及同步指令中均携带指令时间,能够保证所有用户的最后一条指令一致,不考虑中间过程的顺序性、正确性等,从而保证对多媒体控制的结果的一致性。
本公开实施例提供的多用户的多媒体控制方案,针对多媒体同步的多个客户端中的第一客户端,响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;获取目标客户端的时间信息,并根据时间信息将第一客户端的时间与目标客户端对齐;接收第一控制指令,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;执行目标控制指令,并当目标控制指令的发送端为第一客户端时,发送目标控制指令的同步指令至参与多媒体同步的第二客户端,以使每个客户端同步执行目标控制指令,第二客户端数量为至少一个。采用上述技术方案,在多个用户同步观看多媒体的情况下,每个用户所在客户端均可以与其中一个目标客户端进行时间对齐,之后可以根据对齐后的指令时间确定执行的控制指令,并结合同步指令实现多用户的多媒体同步控制,通过客户端之间的交互和时间对齐实现去中心化的多媒体同步控制,不需要服务端参与,避免服务端链路的长过程和大量级,降低交互成本,提升了控制效率以及信令传递成功率。
在一些实施例中,将第一客户端与目标客户端之间的时间对齐的步骤每间隔设定时间执行,并且执行次数不超过预设次数。设定时间可以理解为进行时间对齐的时间周期,预设次数可以为每轮进行时间对齐的最大次数,例如该设定时间可以设置为2分钟,预设次数为5次,此时每间隔两分钟进行一轮时间对齐,每轮的执行次数最多为5次。
可选的,第一客户端与目标客户端之间执行时间对齐的步骤之后,在当前的下行传输时长小于上一次的下行传输时长并且小于预设时长时,则确定时间对齐完成。每执行一次时间对齐的步骤之后都可以获得一个下行传输时长,上述预设时长可以根据每次下行传输时长的变化幅度进行设置和调整,例如预设时长可以为30ms。
示例性的,图4为本公开实施例提供的另一种时间对齐的示意图,如图4所示,图中展示了每间隔设定时间进行时间对齐的过程,可以包括:第一客户端与目标客户端时间对齐之后进行握手,一次握手表示一次请求(request)和一次回复(reply);之后判断当前的下行传输时长是否小于上次的下行传输时长,若是,则存储时间偏移,之后可以判断当前的下行传输时长是否小于预设时长,若是,则结束时间对齐;否则,返回判断握手次数是否超过预设次数。在当前的下行传输时长大于或等于上次的下行传输时长,判断握手次数是否超过预设次数,若是,则等待一段时间之后返回执行新一轮的时间对齐;否则,等待一段时间之后,返回重新执行下一次的握手,并将握手次数加1。
上述方案中,通过将时间对齐的步骤周期性的执行以及对下行传输时长的判断,能够提升时间偏移的准确性,提升时间对齐的准确性,进而能够提升后续多媒体控制的准确性。
在一些实施例中,根据第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令之后,多用户的多媒体控制方法还可以包括:在目标控制指令的发送端为第二客户端并接收到第二客户端发送的同步指令,当同步指令携带的指令时间大于目标控制指令的指令时间,则切换执行同步指令对应的控制指令。
第一客户端在确定目标控制指令之后,可以判断目标控制指令的发送端是否为自身,若否,则说明目标控制指令由其他客户端发送,可以执行该目标控制指令;之后可以接收其他客户端发送的同步指令,将同步指令携带的指令时间与目标控制指令的指令时间进行对比,如果同步指令携带的指令时间大于目标控制指令的指令时间,则说明目标控制指令的发送端与同步指令的发送端不同,同步指令的指令时间较大,可以切换执行同步指令对应的控制指令,也即每个客户端接收到该同步指令之后,可以针对同一多媒体执行相同的控制操作,达到多媒体同步在多个用户的客户端播放的效果。
在一些实施例中,多用户的多媒体控制方法还可以包括:接收指令时间相同的第三控制指令和第四控制指令;将第三控制指令和第四控制指令中先接收到的指令与本地指令时间对比,确定目标控制指令。可选的,多用户的多媒体控制方法还可以包括:接收第三控制指令和第四控制指令对应的两个同步指令;确定两个同步指令中先接收到的目标同步指令,执行目标同步指令对应的控制指令。
其中,第三控制指令和第四控制指令可以是两个不同客户端发送的不同的控制指令,针对的多媒体和/或控制操作可以不同。第一客户端可以接收来自其他两个客户端在同一时间发送的第三控制指令和第四控制指令,指令时间相同,此时可以将先接收到的控制指令的指令时间与本地指令时间对比,确定最终的目标控制指令,后接收到的控制指令丢弃。之后第一客户端可以接收到两个指令时间相同的同步指令,也即上述第三控制指令和第四控制指令对应的两个同步指令,将先接收到的同步指令确定为目标同步指令,执行目标同步指令对应的控制指令。
由于多个用户均可以对多媒体进行控制操作,可能会存在某个较短的时间内不同用户观看的多媒体不一致的情况,后续通过同步指令的同步操作,即可将多个用户的观看的多媒体同步,保证了多媒体的同步控制。
接下来通过一个具体的示例对本公开实施例的多用户的多媒体控制方法进行进一步说明。示例性的,图5为本公开实施例提供的一种多用户的多媒体控制的示意图,如图5所示,图中以多媒体为视频为例,展示了第一用户、第二用户和第三用户同步观看视频的场景下的视频控制过程,具体视频控制过程可以包括:第一用户、第二用户和第三用户均位于视频2,播放或暂停;第二用户可以播放视频3,向第一用户和第二用户发送控制指令,如图中的op1,该op1的clock=1,cmd=1,aweme_id=3,clock表示指令时间,cmd表示指令对应的控制操作,1表示播放操作,aweme_id表示指令针对的视频,并可以发送同步指令至第一用户和第三用户(图中未示出);第二用户可以暂停视频3,向第一用户和第二用户发送控制指令,如图中的op2,该op2的clock=2,cmd=2,aweme_id=3,并可以发送同步指令至第一用户和第三用户,如图中的sync1,该sync1的clock=2,cmd=2,aweme_id=3,与op2相同,使第一用户和第三用户均同步暂停视频3;第三用户播放视频1,向第一用户和第二用户发送控制指令,如图中op3,该op3的clock=3,cmd=1,aweme_id=1,图中发送到第二用户的op3失败;并发送同步指令至第一用户和第二用户,如图中的sync2,使得第二用户即时未接收到op3,也可以与第三用户同步播放视频1;第二用户接收到同步指令sync2之后,确定sync2的指令时间3大于本地指令时间2,可以放弃同步权,不再轮询发送sync1。
图5中以三个用户同步观看视频为例,针对每个用户所在客户端接收到控制指令之后,如果该控制指令的指令时间小于本地指令时间,则直接丢弃;否则可以存储当前控制指令,并将本地控制指令丢弃,承诺不会接收比当前控制指令的指令时间小的控制指令。此外如图5所示,第一用户为同步视频的用户,也即投屏者,第二用户和第三用户可以为非投屏者,当非投屏者对另一个视频进行控制操作时,可以反向推动投屏者加载新的视频,例如图中的视频4、5、6等。
本方案从客户端层面进行改进,在多个用户同步观看多媒体的情况下,将中心化的同步控制切换为去中心化的控制,通过客户端之间的交互和时间对齐实现去中心化的多媒体同步控制,全权由客户端实现,减少服务端链路,避免服务端链路的长过程和大量级,降低交互成本,提升了控制效率以及信令传递成功率,进而能够在一定程度上提升开发效率。
图6为本公开实施例提供的一种多用户的多媒体控制装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图6所示,该装置设置于多媒体同步的多个客户端中的第一客户端,包括:
请求模块601,用于响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;
对齐模块602,用于获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;
确定模块603,用于接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;
同步模块604,用于执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
可选的,所述时间信息包括所述目标客户端发送信息的第一时间,所述对齐模块602包括:
第一单元,用于根据所述第一客户端发送所述时间对齐请求的第二时间以及所述第一客户端接收所述时间信息的第三时间,确定下行传输时长;
第二单元,用于根据所述第一时间、所述第三时间以及所述下行传输时长,确定所述第一客户端与所述目标客户端之间的时间偏移;
第三单元,用于将所述第一客户端的实时时间加上所述时间偏移,以与所述目标客户端实现时间对齐。
可选的,所述第一单元用于:
将所述第三时间与所述第二时间的差值除以2,得到所述下行传输时长。
可选的,所述第二单元用于:
确定所述第三时间与所述第一时间的时间差值,并将所述时间差值与所述下行传输时长之和确定为所述时间偏移。
可选的,所述确定模块603用于:
当所述第一指令时间大于所述本地指令时间,则将所述第一控制指令确定为所述目标控制指令;否则,将所述本地指令时间对应的第二控制指令确定为所述目标控制指令。
可选的,所述同步模块604用于:
按照预设时间间隔发送所述目标控制指令的同步指令至所述第二客户端,所述同步指令中携带所述目标控制指令的指令时间。
可选的,所述装置还包括第二同步模块,用于:根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令之后,
在所述目标控制指令的发送端为所述第二客户端并接收到所述第二客户端发送的同步指令,当所述同步指令携带的指令时间大于所述目标控制指令的指令时间,则切换执行所述同步指令对应的控制指令。
可选的,所述装置还包括第三同步模块,用于:
接收指令时间相同的第三控制指令和第四控制指令;
将所述第三控制指令和所述第四控制指令中先接收到的指令与本地指令时间对比,确定所述目标控制指令。
可选的,所述装置还包括第四同步模块,用于:
接收所述第三控制指令和第四控制指令对应的两个同步指令;
确定所述两个同步指令中先接收到的目标同步指令,执行所述目标同步指令对应的控制指令。
本公开实施例所提供的多用户的多媒体控制装置可执行本公开任意实施例所提供的多用户的多媒体控制方法,具备执行方法相应的功能模块和有益效果。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任意实施例所提供的多用户的多媒体控制方法。
图7为本公开实施例提供的一种电子设备的结构示意图。下面具体参考图7,其示出了适于用来实现本公开实施例中的电子设备700的结构示意图。本公开实施例中的电子设备700可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的多用户的多媒体控制方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (12)

1.一种多用户的多媒体控制方法,其特征在于,应用于多媒体同步的多个客户端中的第一客户端,包括:
响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;
获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;
接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;
执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
2.根据权利要求1所述的方法,其特征在于,所述时间信息包括所述目标客户端发送信息的第一时间,根据所述时间信息将第一客户端的时间与所述目标客户端对齐,包括:
根据所述第一客户端发送所述时间对齐请求的第二时间以及所述第一客户端接收所述时间信息的第三时间,确定下行传输时长;
根据所述第一时间、所述第三时间以及所述下行传输时长,确定所述第一客户端与所述目标客户端之间的时间偏移;
将所述第一客户端的实时时间加上所述时间偏移,以与所述目标客户端实现时间对齐。
3.根据权利要求2所述的方法,其特征在于,根据所述第一客户端发送所述时间对齐请求的第二时间以及所述第一客户端接收所述时间信息的第三时间,确定下行传输时长,包括:
将所述第三时间与所述第二时间的差值除以2,得到所述下行传输时长。
4.根据权利要求2所述的方法,其特征在于,根据所述第一时间、所述第三时间以及所述下行传输时长,确定所述第一客户端与所述目标客户端之间的时间偏移,包括:
确定所述第三时间与所述第一时间的时间差值,并将所述时间差值与所述下行传输时长之和确定为所述时间偏移。
5.根据权利要求1所述的方法,其特征在于,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令,包括:
当所述第一指令时间大于所述本地指令时间,则将所述第一控制指令确定为所述目标控制指令;否则,将所述本地指令时间对应的第二控制指令确定为所述目标控制指令。
6.根据权利要求1所述的方法,其特征在于,发送所述目标控制指令的同步指令至其他客户端,包括:
按照预设时间间隔发送所述目标控制指令的同步指令至所述第二客户端,所述同步指令中携带所述目标控制指令的指令时间。
7.根据权利要求1所述的方法,其特征在于,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令之后,所述方法还包括:
在所述目标控制指令的发送端为所述第二客户端并接收到所述第二客户端发送的同步指令,当所述同步指令携带的指令时间大于所述目标控制指令的指令时间,则切换执行所述同步指令对应的控制指令。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收指令时间相同的第三控制指令和第四控制指令;
将所述第三控制指令和所述第四控制指令中先接收到的指令与本地指令时间对比,确定所述目标控制指令。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述第三控制指令和第四控制指令对应的两个同步指令;
确定所述两个同步指令中先接收到的目标同步指令,执行所述目标同步指令对应的控制指令。
10.一种多用户的多媒体控制装置,其特征在于,设置于多媒体同步的多个客户端中的第一客户端,包括:
请求模块,用于响应于多媒体同步加入操作,发送时间对齐请求至目标客户端;
对齐模块,用于获取所述目标客户端的时间信息,并根据所述时间信息将所述第一客户端的时间与所述目标客户端对齐;
确定模块,用于接收第一控制指令,根据所述第一控制指令的第一指令时间与本地指令时间的对比结果确定目标控制指令;
同步模块,用于执行所述目标控制指令,并当所述目标控制指令的发送端为所述第一客户端时,发送所述目标控制指令的同步指令至参与所述多媒体同步的第二客户端,以使每个客户端同步执行所述目标控制指令,所述第二客户端数量为至少一个。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-9中任一所述的多用户的多媒体控制方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-9中任一所述的多用户的多媒体控制方法。
CN202210346498.1A 2022-03-31 2022-03-31 一种多用户的多媒体控制方法、装置、设备及介质 Pending CN116939261A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210346498.1A CN116939261A (zh) 2022-03-31 2022-03-31 一种多用户的多媒体控制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210346498.1A CN116939261A (zh) 2022-03-31 2022-03-31 一种多用户的多媒体控制方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116939261A true CN116939261A (zh) 2023-10-24

Family

ID=88376072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210346498.1A Pending CN116939261A (zh) 2022-03-31 2022-03-31 一种多用户的多媒体控制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116939261A (zh)

Similar Documents

Publication Publication Date Title
CN111064987B (zh) 信息展示方法、装置及电子设备
WO2016127687A1 (zh) 一种同步媒体文件播放进度的方法、装置及系统
CN113489937A (zh) 视频共享方法、装置、设备及介质
CN115053518A (zh) 用于在网络会议会话内同步共享视频内容的延迟补偿
CN109005438B (zh) 视频播放方法及装置
JP2023537748A (ja) ビデオインタラクション方法、装置、電子機器及び記憶媒体
WO2021190557A1 (zh) 交互方法、装置和电子设备
CN112291502B (zh) 信息交互方法、装置、系统和电子设备
CN113225483B (zh) 图像融合方法、装置、电子设备和存储介质
US11736755B2 (en) Methods, systems, and media for synchronized media content playback on multiple devices
CN111818383B (zh) 视频数据的生成方法、系统、装置、电子设备及存储介质
CN108337556B (zh) 用于播放影音文件的方法和装置
US11076197B1 (en) Synchronization of multiple video-on-demand streams and methods of broadcasting and displaying multiple concurrent live streams
CN113144620B (zh) 帧同步游戏的检测方法、装置、平台、可读介质和设备
CN115878242A (zh) 媒体内容显示方法、装置、设备、可读存储介质及产品
CN112261349B (zh) 图像处理方法、装置和电子设备
CN114257572B (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN113050904A (zh) 屏幕共享方法及装置
JP2020174378A (ja) 異種ネットワーキング環境におけるメディアレンダリングの同期化
CN114584822B (zh) 一种同步播放方法、装置、终端设备和存储介质
CN116939261A (zh) 一种多用户的多媒体控制方法、装置、设备及介质
CN112040328B (zh) 数据交互方法、装置和电子设备
CN112330996A (zh) 一种直播教学的控制方法、装置、介质和电子设备
CN108696762A (zh) 一种同步播放方法、装置和系统
CN114765695B (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