CN114900710B - 多设备同步方法、装置、电子设备及存储介质 - Google Patents
多设备同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114900710B CN114900710B CN202210505879.XA CN202210505879A CN114900710B CN 114900710 B CN114900710 B CN 114900710B CN 202210505879 A CN202210505879 A CN 202210505879A CN 114900710 B CN114900710 B CN 114900710B
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- plug
- flow
- equipment
- direct
- 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 49
- 230000001360 synchronised effect Effects 0.000 claims description 56
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003796 beauty Effects 0.000 claims 2
- 230000002452 interceptive effect Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- 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
- H04N21/43076—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 of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种多设备同步方法、装置、电子设备及存储介质,所述方法包括:接收第一直播推流设备发送的同步消息,其中,第一直播推流设备包括多台直播推流设备中任意一台直播推流设备;确定第二直播推流设备,其中,第二直播推流设备包括多台直播推流设备中除第一直播推流设备之外的其余直播推流设备;将同步消息转发至第二直播推流设备,以使第二直播推流设备根据同步消息执行相应的同步操作。如此采用这种方式收发消息,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力。
Description
技术领域
本发明涉及多媒体通信技术领域,尤其涉及一种多设备同步方法、装置、电子设备及存储介质。
背景技术
随着互联网信息技术的不断发展,网络直播得到了越来越多的发展和应用。其中,在网络直播领域中,现场连线直播互动较为特殊,在现场连线直播互动的场景中,被选定的互动用户需要观看直播现场,连线参与现场彩排等。
为了保证低延时、高性能和安全,现场连线直播互动一般采用一台推流设备推一路多媒体码流的直播方式。其中,一般需要高清多媒体码流、低清多媒体码流和消音的多媒体码流,这样就需要现场导出三路多媒体码流,分别由三台推流设备进行推流。
为保证直播现场的保密性,不需要互动用户连线时,需要推流设备控制不让互动用户看到直播现场,连线时则允许互动用户观看,这样需要三个人同时控制三台推流设备,或一个人非同时的控制三台推流设备。如此维护不同多媒体码流的互动同步性,操作比较繁琐、花费较多人力和精力。
发明内容
为了解决上述维护不同多媒体码流的互动同步性,操作比较繁琐、花费较多人力和精力的技术问题,本发明实施例提供了一种多设备同步方法、装置、电子设备及存储介质。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种多设备同步方法,多台直播推流设备中任意一台直播推流设备均部署服务端程序及客户端程序,从多台直播推流设备中选取目标直播推流设备,并启动所述目标直播推流设备中的所述服务端程序,以及启动多台直播推流设备中的所述客户端程序,所述方法应用于所述目标直播推流设备,包括:
接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;
确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作。
在一个可选的实施方式中,所述确定第二直播推流设备,包括:
获取直播推流设备列表,其中,所述直播推流设备列表中所述第一直播推流设备,以及除所述第一直播推流设备之外的其余直播推流设备均与所述目标直播推流设备已建立连接;
确定所述直播推流设备列表中除所述第一直播推流设备之外的其余直播推流设备为第二直播推流设备。
在一个可选的实施方式中,所述同步消息中携带有所述第一直播推流设备执行的同步操作,
所述将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,包括:
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备解析所述同步消息中携带的所述同步操作,并执行相应的所述同步操作。
在一个可选的实施方式中,所述将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,包括:
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备确定所述同步消息对应的消息类型,查找所述消息类型对应的同步操作,并执行相应的所述同步操作。
在一个可选的实施方式中,所述将所述同步消息转发至所述第二直播推流设备,包括:
确定所述第二直播推流设备的设备数量,并判断所述设备数量是否超过预设阈值;
若所述设备数量未超过所述预设阈值,则将所述同步消息同步转发至所述第二直播推流设备;
若所述设备数量超过所述预设阈值,则遍历所述第二直播推流设备,将所述同步消息转发至所述第二直播推流设备。
在一个可选的实施方式中,所述将所述同步消息转发至所述第二直播推流设备,包括:
确定所述第二直播推流设备本地第二多媒体码流对应的码流类型,根据所述码流类型确定所述第二直播推流设备的转发顺序;
根据所述第二直播推流设备的所述转发顺序,将所述同步消息转发至所述第二直播推流设备。
在一个可选的实施方式中,在执行所述方法之前,还包括:
接收第一直播推流设备发送的连接请求,根据所述连接请求建立所述第一直播推流设备与所述目标直播推流设备之间的Socket连接;
向所述第一直播推流设备发送Socket连接建立成功的消息,并将所述第一直播推流设备添加至直播推流设备列表。
在本发明实施例的第二方面,还提供了一种多设备同步装置,多台直播推流设备中任意一台直播推流设备均部署服务端程序及客户端程序,从多台直播推流设备中选取目标直播推流设备,并启动所述目标直播推流设备中的所述服务端程序,以及启动多台直播推流设备中的所述客户端程序,所述装置应用于所述目标直播推流设备,包括:
消息接收模块,用于接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;
设备确定模块,用于确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;
设备同步模块,用于将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的多设备同步方法。
在本发明实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的多设备同步方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的多设备同步方法。
本发明实施例提供的技术方案,接收第一直播推流设备发送的同步消息,其中,第一直播推流设备包括多台直播推流设备中任意一台直播推流设备,确定第二直播推流设备,其中,第二直播推流设备包括多台直播推流设备中除第一直播推流设备之外的其余直播推流设备,将同步消息转发至第二直播推流设备,以使第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作。通过接收第一直播推流设备发送的同步消息,将同步消息转发至第二直播推流设备,第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作,如此采用这种方式收发消息,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种多设备同步系统的架构示意图;
图2为本发明实施例中示出的一种多设备同步方法的实施流程示意图;
图3为本发明实施例中示出的一种目标直播推流设备与第一直播推流设备建立连接的交互示意图;
图4为本发明实施例中示出的另一种多设备同步方法的实施流程示意图;
图5为本发明实施例中示出的另一种多设备同步方法的实施流程示意图;
图6为本发明实施例中示出的一种多设备同步装置的结构示意图;
图7为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种多设备同步系统的架构示意图,该多设备同步系统包括多台直播推流设备。其中,在本发明实施例中,利用GCDAsyncSocket开源框架建立Socket服务端(即服务端程序)和Socket客户端(即客户端程序),对于每台直播推流设备而言,均部署了Socket服务端和Socket客户端。
对于多台直播推流设备而言,从多台直播推流设备中选取目标直播推流设备,从而启动目标直播推流设备中的Socket服务端,而对于其余直播推流设备中的Socket服务端未启用,而启动了目标直播推流设备及其余直播推流设备中的Socket客户端。
需要说明的是,对于目标直播推流设备,启动了目标直播推流设备中的Socket服务端以及Socket客户端,而对于其余直播推流设备,启动了其余直播推流设备中的Socket客户端,未启动其余直播推流设备中的Socket服务端。
例如,如图1所示,从直播推流设备A、直播推流设备B、直播推流设备C中选取直播推流设备A为目标直播推流设备,则启动直播推流设备A中的Socket服务端以及Socket客户端,而对于直播推流设备B、直播推流设备C,启动其中的Socket客户端,未启动其中的Socket服务端。
需要说明的是,对于目标直播推流设备的选取,可以是从多台直播推流设备中随机选取,也可以是根据用户需求从多台直播推流设备中选取,或者根据多媒体码流从多台直播推流设备中选取,本发明实施例对此不作限定。
基于此,如图2所示,为本发明实施例提供的一种多设备同步方法的实施流程示意图,该方法应用于上述目标直播推流设备,具体可以包括以下步骤:
S201,接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备。
在本发明实施例中,当用户需要操作一台直播推流设备时,例如执行直播推流设备静音,图片遮挡,或美颜等同步操作,相应的用户会从多台直播推流设备中选择一台直播推流设备执行上述同步操作,用户选择的直播推流设备称之为第一直播推流设备,这里第一直播推流设备包括多台直播推流设备中任意一台直播推流设备,意味着第一直播推流设备可以是上述目标直播推流设备。
第一直播推流设备将上述同步操作封装为同步消息,并将该同步消息发送至目标直播推流设备,由此目标直播推流设备可以接收到第一直播推流设备发送的同步消息。其中,第一直播推流设备通过本地的Socket客户端将上述同步操作封装为同步消息,并将该同步消息发送至目标直播推流设备,而目标直播推流设备通过本地的Socket服务端接收第一直播推流设备发送的同步消息。
例如,如图1所示,用户选择直播推流设备B执行直播推流设备静音等同步操作,这里的直播推流设备B即第一直播推流设备,相应的第一直播推流设备通过本地的Socket客户端将上述同步操作封装为同步消息,并将该同步消息发送至目标直播推流设备,即直播推流设备A,而直播推流设备A通过本地的Socket服务端接收第一直播推流设备发送的同步消息。
例如,如图1所示,目标直播推流设备即直播推流设备A,用户选择直播推流设备A执行直播推流设备美颜等同步操作,这里的直播推流设备A即第一直播推流设备,相应的第一直播推流设备通过本地的Socket客户端将上述同步操作封装为同步消息,并将该同步消息发送至直播推流设备A,而直播推流设备A通过本地的Socket服务端接收第一直播推流设备发送的同步消息。
需要说明的是,对于同步消息的发送/转发,可以使用client.write(msg.data(using:.utf8),withTimeout:-1,tag:0)发送/转发同步消息,本发明实施例对此不作限定。
S202,确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备。
在本发明实施例中,对于目标直播推流设备而言,在接收到第一直播推流设备发送的同步消息之后,可以确定第二直播推流设备,这里第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备。
例如,目标直播推流设备即直播推流设备A,直播推流设备A通过本地的Socket服务端接收到第一直播推流设备,即直播推流设备B发送的同步消息之后,确定第二直播推流设备,这里除直播推流设备B之外的其余直播推流设备包括直播推流设备A和直播推流设备C,因此确定直播推流设备A和直播推流设备C为第二直播推流设备。
此外,在本发明实施例中,采用Socket建立网络消息连接,在多台直播推流设备中选取一台目标直播推流设备作为服务端,所有直播推流设备作为客户端与服务端建立消息连接。自此目标直播推流设备接收第一直播推流设备发送的连接请求,根据连接请求建立第一直播推流设备与目标直播推流设备之间的Socket连接,向第一直播推流设备发送Socket连接建立成功的消息,并将第一直播推流设备添加至直播推流设备列表。
例如,如图3所示,目标直播推流设备即直播推流设备A,启动服务,通过server.accept(onPort: port)监听8088端口,直播推流设备A、直播推流设备B、直播推流设备C等作为第一直播推流设备,均通过本地的Socket客户端向目标直播推流设备发送连接请求。其中,使用client.connect(toHost: host, onPort: port)发起连接请求。
目标直播推流设备通过本地的Socket服务端接收第一直播推流设备发送的连接请求,根据连接请求建立第一直播推流设备与目标直播推流设备之间的Socket连接,向第一直播推流设备发送Socket连接建立成功的消息,并将第一直播推流设备添加至直播推流设备列表。
由此在确定第二直播推流设备的阶段,可以获取直播推流设备列表,其中,直播推流设备列表中第一直播推流设备,以及除第一直播推流设备之外的其余直播推流设备均与目标直播推流设备已建立连接,确定直播推流设备列表中除第一直播推流设备之外的其余直播推流设备为第二直播推流设备。
例如,获取直播推流设备列表,其中,直播推流设备列表中第一直播推流设备(即直播推流设备B),以及除第一直播推流设备(即直播推流设备B)之外的其余直播推流设备(即直播推流设备A、直播推流设备C)均与目标直播推流设备(即直播推流设备A)已建立连接,确定直播推流设备A、直播推流设备C为第二直播推流设备。
例如,获取直播推流设备列表,其中,直播推流设备列表中第一直播推流设备(即直播推流设备A),以及除第一直播推流设备(即直播推流设备A)之外的其余直播推流设备(即直播推流设备B、直播推流设备C)均与目标直播推流设备(即直播推流设备A)已建立连接,确定直播推流设备B、直播推流设备C为第二直播推流设备。
S203,将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作。
在本发明实施例中,对于目标直播推流设备而言,将同步消息转发至第二直播推流设备。如此第二直播推流设备可以接收到同步消息,并根据同步消息执行相应的同步操作。
如此多台直播推流设备同步,多台直播推流设备推流不同多媒体码流,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力。
其中,同步消息中一般携带有第一直播推流设备执行的同步操作,如此将同步消息转发至第二直播推流设备,第二直播推流设备解析同步消息中携带的同步操作,并执行相应的同步操作。
例如,第一直播推流设备即直播推流设备A执行的同步操作:直播推流设备静音,则同步消息中携带该同步操作,如此对于第二直播推流设备,即直播推流设备B和直播推流设备C而言,解析同步消息中携带的同步操作,并执行相应的同步操作。
如此直播推流设备A、直播推流设备B、直播推流设备C均执行相同的操作(即直播推流设备静音),可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力。
此外,在本发明实施例中,预先为不同的消息类型设置相应的同步操作,消息类型与同步操作一一对应,如下表1所示。
表1
如此第一直播推流设备根据自身执行的同步操作,封装与同步操作对应消息类型的同步消息,如此将同步消息转发至第二直播推流设备,第二直播推流设备确定同步消息对应的消息类型,查找消息类型对应的同步操作,并执行相应的同步操作。
例如,对于第二直播推流设备确定同步消息对应的消息类型:A,根据上述表1可以查找到相应的同步操作:直播推流设备静音,如此第二直播推流设备可以执行相应的同步操作,即直播推流设备静音。
通过上述对本发明实施例提供的技术方案的描述,接收第一直播推流设备发送的同步消息,其中,第一直播推流设备包括多台直播推流设备中任意一台直播推流设备,确定第二直播推流设备,其中,第二直播推流设备包括多台直播推流设备中除第一直播推流设备之外的其余直播推流设备,将同步消息转发至第二直播推流设备,以使第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作。
通过接收第一直播推流设备发送的同步消息,将同步消息转发至第二直播推流设备,第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作,如此采用这种方式收发消息,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力。
如图4所示,为本发明实施例提供的另一种多设备同步方法的实施流程示意图,该方法应用于上述目标直播推流设备,具体可以包括以下步骤:
S401,接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备。
在本发明实施例中,本步骤与上述步骤S201类似,本发明实施例在此不再一一赘述。
S402,确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备。
在本发明实施例中,本步骤与上述步骤S202类似,本发明实施例在此不再一一赘述。
S403,确定所述第二直播推流设备的设备数量,并判断所述设备数量是否超过预设阈值。
S404,若所述设备数量未超过所述预设阈值,则将所述同步消息同步转发至所述第二直播推流设备。
在本发明实施例中,为了使得同步消息的转发更加合理、可靠,可以确定第二直播推流设备的设备数量,并判断设备数量是否超过预设阈值,若设备数量未超过预设阈值,则将同步消息同步转发至第二直播推流设备。
如此在第二直播推流设备数量较少的情况下,在目标直播推流设备可以承受的范围之内将同步消息同步转发至第二直播推流设备,并不会增加目标直播推流设备的压力,又可以保持多台直播推流设备同步的一致性。
例如,本发明实施例确定第二直播推流设备的设备数量,例如剩下数量3,预设阈值5,由此可知设备数量未超过预设阈值,此时将同步消息同步转发至第二直播推流设备。
S405,若所述设备数量超过所述预设阈值,则遍历所述第二直播推流设备,将所述同步消息转发至所述第二直播推流设备。
在本发明实施例中,若第二直播推流设备的设备数量超过预设阈值,则可以遍历第二直播推流设备,将同步消息转发至第二直播推流设备,如此确保不会增加目标直播推流设备的压力,保证目标直播推流设备的正常。
例如,第二直播推流设备的设备数量10,预设阈值5,由此可知第二直播推流设备的设备数量超过预设阈值,此时遍历第二直播推流设备,将同步消息转发至第二直播推流设备。
通过上述对本发明实施例提供的技术方案的描述,接收第一直播推流设备发送的同步消息,其中,第一直播推流设备包括多台直播推流设备中任意一台直播推流设备,确定第二直播推流设备,其中,第二直播推流设备包括多台直播推流设备中除第一直播推流设备之外的其余直播推流设备,确定第二直播推流设备的设备数量,并判断设备数量是否超过预设阈值,若设备数量未超过预设阈值,则将同步消息同步转发至第二直播推流设备,若设备数量超过预设阈值,则遍历第二直播推流设备,将同步消息转发至第二直播推流设备。
通过接收第一直播推流设备发送的同步消息,并根据第二直播推流设备的数量选择合适的消息转发方法,将同步消息转发至第二直播推流设备,第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作,如此采用这种方式收发消息,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力,并且使得同步消息的转发更加合理、可靠。
如图5所示,为本发明实施例提供的另一种多设备同步方法的实施流程示意图,该方法应用于上述目标直播推流设备,具体可以包括以下步骤:
S501,接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备。
在本发明实施例中,本步骤与上述步骤S201类似,本发明实施例在此不再一一赘述。
S502,确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备。
在本发明实施例中,本步骤与上述步骤S202类似,本发明实施例在此不再一一赘述。
S503,确定所述第二直播推流设备本地第二多媒体码流对应的码流类型,根据所述码流类型确定所述第二直播推流设备的转发顺序。
S504,根据所述第二直播推流设备的所述转发顺序,将所述同步消息转发至所述第二直播推流设备。
在本发明实施例中,对于多台直播推流设备而言,推不同多媒体码流,例如直播推流设备A推高清多媒体码流,直播推流设备B推低清多媒体码流,直播推流设备C推消音的多媒体码流。
如此可以根据不同多媒体码流确定第二直播推流设备的转发顺序,根据这个转发顺序,将同步消息转发至第二直播推流设备,从而可以由多媒体码流的类型决定直播推流设备执行同步操作的顺序,多台直播推流设备可以实现非同时的同步。
基于此,可以确定第二直播推流设备本地第二多媒体码流对应的码流类型,根据码流类型确定第二直播推流设备的转发顺序,根据第二直播推流设备的转发顺序,将同步消息转发至第二直播推流设备。
例如,确定第二直播推流设备本地第二多媒体码流对应的码流类型,根据码流类型确定第二直播推流设备的转发顺序,如下表2所示,根据第二直播推流设备的转发顺序,将同步消息转发至第二直播推流设备。
表2
通过上述对本发明实施例提供的技术方案的描述,接收第一直播推流设备发送的同步消息,其中,第一直播推流设备包括多台直播推流设备中任意一台直播推流设备,确定第二直播推流设备,其中,第二直播推流设备包括多台直播推流设备中除第一直播推流设备之外的其余直播推流设备,确定第二直播推流设备本地第二多媒体码流对应的码流类型,根据码流类型确定第二直播推流设备的转发顺序,根据第二直播推流设备的转发顺序,将同步消息转发至第二直播推流设备。
通过接收第一直播推流设备发送的同步消息,并根据第二直播推流设备本地第二多媒体码流对应的码流类型,决定第二直播推流设备的转发顺序,根据第二直播推流设备的转发顺序,将同步消息转发至第二直播推流设备,第二直播推流设备根据同步消息对本地第二多媒体码流执行同步操作,如此采用这种方式收发消息,可以维护不同多媒体码流的互动同步性,操作比较简单,可以节省人力和精力,并且由多媒体码流的类型决定直播推流设备执行同步操作的顺序,多台直播推流设备可以实现非同时的同步。
与上述方法实施例相对应,本发明实施例还提供了一种多设备同步装置,如图6所示,该装置可以包括:消息接收模块610、设备确定模块620、设备同步模块630。
消息接收模块610,用于接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;
设备确定模块620,用于确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;
设备同步模块630,用于将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,
存储器73,用于存放计算机程序;
处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:
接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多设备同步方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多设备同步方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种多设备同步方法,其特征在于,多台直播推流设备中任意一台直播推流设备均部署服务端程序及客户端程序,从多台直播推流设备中选取目标直播推流设备,并启动所述目标直播推流设备中的所述服务端程序,以及启动多台直播推流设备中的所述客户端程序,所述方法应用于所述目标直播推流设备,包括:
接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;
确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,所述同步操作包括直播推流设备静音,直播推流设备美颜,或直播推流设备图片遮挡;
将所述同步消息转发至所述第二直播推流设备,包括:确定所述第二直播推流设备的设备数量,并判断所述设备数量是否超过预设阈值;若所述设备数量未超过所述预设阈值,则将所述同步消息同步转发至所述第二直播推流设备;若所述设备数量超过所述预设阈值,则遍历所述第二直播推流设备,将所述同步消息转发至所述第二直播推流设备。
2.根据权利要求1所述的方法,其特征在于,所述确定第二直播推流设备,包括:
获取直播推流设备列表,其中,所述直播推流设备列表中所述第一直播推流设备,以及除所述第一直播推流设备之外的其余直播推流设备均与所述目标直播推流设备已建立连接;
确定所述直播推流设备列表中除所述第一直播推流设备之外的其余直播推流设备为第二直播推流设备。
3.根据权利要求1所述的方法,其特征在于,所述同步消息中携带有所述第一直播推流设备执行的同步操作,
所述将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,包括:
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备解析所述同步消息中携带的所述同步操作,并执行相应的所述同步操作。
4.根据权利要求1所述的方法,其特征在于,所述将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,包括:
将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备确定所述同步消息对应的消息类型,查找所述消息类型对应的同步操作,并执行相应的所述同步操作。
5.根据权利要求1所述的方法,其特征在于,所述将所述同步消息转发至所述第二直播推流设备,包括:
确定所述第二直播推流设备本地第二多媒体码流对应的码流类型,根据所述码流类型确定所述第二直播推流设备的转发顺序;
根据所述第二直播推流设备的所述转发顺序,将所述同步消息转发至所述第二直播推流设备。
6.根据权利要求1所述的方法,其特征在于,在执行所述方法之前,还包括:
接收第一直播推流设备发送的连接请求,根据所述连接请求建立所述第一直播推流设备与所述目标直播推流设备之间的Socket连接;
向所述第一直播推流设备发送Socket连接建立成功的消息,并将所述第一直播推流设备添加至直播推流设备列表。
7.一种多设备同步装置,其特征在于,多台直播推流设备中任意一台直播推流设备均部署服务端程序及客户端程序,从多台直播推流设备中选取目标直播推流设备,并启动所述目标直播推流设备中的所述服务端程序,以及启动多台直播推流设备中的所述客户端程序,所述装置应用于所述目标直播推流设备,包括:
消息接收模块,用于接收第一直播推流设备发送的同步消息,其中,所述第一直播推流设备包括多台所述直播推流设备中任意一台直播推流设备;
设备确定模块,用于确定第二直播推流设备,其中,所述第二直播推流设备包括多台所述直播推流设备中除所述第一直播推流设备之外的其余直播推流设备;
设备同步模块,用于将所述同步消息转发至所述第二直播推流设备,以使所述第二直播推流设备根据所述同步消息执行相应的同步操作,所述同步操作包括直播推流设备静音,直播推流设备美颜,或直播推流设备图片遮挡;
将所述同步消息转发至所述第二直播推流设备,包括:确定所述第二直播推流设备的设备数量,并判断所述设备数量是否超过预设阈值;若所述设备数量未超过所述预设阈值,则将所述同步消息同步转发至所述第二直播推流设备;若所述设备数量超过所述预设阈值,则遍历所述第二直播推流设备,将所述同步消息转发至所述第二直播推流设备。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6中任一所述的方法步骤。
9.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210505879.XA CN114900710B (zh) | 2022-05-10 | 2022-05-10 | 多设备同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210505879.XA CN114900710B (zh) | 2022-05-10 | 2022-05-10 | 多设备同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900710A CN114900710A (zh) | 2022-08-12 |
CN114900710B true CN114900710B (zh) | 2023-07-25 |
Family
ID=82722344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210505879.XA Active CN114900710B (zh) | 2022-05-10 | 2022-05-10 | 多设备同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900710B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839558A (zh) * | 2012-11-23 | 2014-06-04 | 三星电子(中国)研发中心 | 同步播放方法及服务器、播放器 |
CN106453328A (zh) * | 2016-10-18 | 2017-02-22 | 乐视控股(北京)有限公司 | 直播视频文件的推流方法、客户端及边缘流媒体服务器 |
CN109391780A (zh) * | 2017-08-10 | 2019-02-26 | 徐文波 | 一种智能终端中进行的线上视频导播方法、装置和智能终端 |
WO2019114129A1 (zh) * | 2017-12-13 | 2019-06-20 | 平安科技(深圳)有限公司 | 推流服务器的调度装置、方法及计算机可读存储介质 |
CN110191367A (zh) * | 2018-02-23 | 2019-08-30 | 阿里巴巴集团控股有限公司 | 信息同步处理方法、装置及电子设备 |
WO2020138541A1 (ko) * | 2018-12-26 | 2020-07-02 | 포디리플레이코리아 주식회사 | 모바일 단말을 이용한 다채널 영상 생성 방법 및 장치 |
WO2020155295A1 (zh) * | 2019-01-30 | 2020-08-06 | 网宿科技股份有限公司 | 一种直播数据处理方法、系统及服务器 |
CN112312157A (zh) * | 2020-11-29 | 2021-02-02 | 王小燕 | 一种基于云计算的互联网直播美颜处理方法及系统 |
CN112714186A (zh) * | 2020-12-30 | 2021-04-27 | 北京大米科技有限公司 | 推流服务器的分配方法、媒体流的推送方法、装置、存储介质及电子设备 |
WO2022022580A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种网络直播互动方法及设备 |
-
2022
- 2022-05-10 CN CN202210505879.XA patent/CN114900710B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839558A (zh) * | 2012-11-23 | 2014-06-04 | 三星电子(中国)研发中心 | 同步播放方法及服务器、播放器 |
CN106453328A (zh) * | 2016-10-18 | 2017-02-22 | 乐视控股(北京)有限公司 | 直播视频文件的推流方法、客户端及边缘流媒体服务器 |
CN109391780A (zh) * | 2017-08-10 | 2019-02-26 | 徐文波 | 一种智能终端中进行的线上视频导播方法、装置和智能终端 |
WO2019114129A1 (zh) * | 2017-12-13 | 2019-06-20 | 平安科技(深圳)有限公司 | 推流服务器的调度装置、方法及计算机可读存储介质 |
CN110191367A (zh) * | 2018-02-23 | 2019-08-30 | 阿里巴巴集团控股有限公司 | 信息同步处理方法、装置及电子设备 |
WO2020138541A1 (ko) * | 2018-12-26 | 2020-07-02 | 포디리플레이코리아 주식회사 | 모바일 단말을 이용한 다채널 영상 생성 방법 및 장치 |
WO2020155295A1 (zh) * | 2019-01-30 | 2020-08-06 | 网宿科技股份有限公司 | 一种直播数据处理方法、系统及服务器 |
WO2022022580A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种网络直播互动方法及设备 |
CN112312157A (zh) * | 2020-11-29 | 2021-02-02 | 王小燕 | 一种基于云计算的互联网直播美颜处理方法及系统 |
CN112714186A (zh) * | 2020-12-30 | 2021-04-27 | 北京大米科技有限公司 | 推流服务器的分配方法、媒体流的推送方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114900710A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995741B (zh) | 一种网络直播中连麦实现方法及系统 | |
CN109614439B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
WO2021237433A1 (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN111478781B (zh) | 一种消息广播的方法和装置 | |
CN113347673A (zh) | Pdu会话管理、节点关联和upf发现的方法及设备 | |
CN111131470A (zh) | 终端设备及其数据处理方法以及数据处理系统 | |
US20210314406A1 (en) | Communication Method and System under Micro-Service Architecture | |
US11706301B2 (en) | Server node selection method and terminal device | |
US20170171339A1 (en) | Advertisement data transmission method, electrnoic device and system | |
US10268532B2 (en) | Application message processing system, method, and application device | |
CN109889922A (zh) | 流媒体数据的转发方法、装置、设备和存储介质 | |
CN114900710B (zh) | 多设备同步方法、装置、电子设备及存储介质 | |
CN107534598B (zh) | 一种媒体服务代理的方法、设备及系统 | |
CN106330504B (zh) | 一种实现应用的方法及业务控制器 | |
WO2015000417A1 (en) | Method, apparatus, application interactive platform, terminal, and system for uploading an image | |
CN113014615B (zh) | 数据同步方法、装置和系统 | |
CN113794566B (zh) | 一种可再投票的二元共识方法、装置、及存储介质 | |
WO2021121413A1 (zh) | 视频推送及传输方法、视角同步方法及装置、存储介质 | |
CN112383617B (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
CN114500436A (zh) | 一种数据传输方法及装置、电子设备 | |
CN114884805A (zh) | 数据传输方法、装置、终端及存储介质 | |
CN110324377B (zh) | 一种推送交互方法、装置、电子设备及介质 | |
CN114531322B (zh) | 一种物联网多网关数据同步的方法、系统、装置和介质 | |
CN109347933B (zh) | 一种建立连接的方法和装置 | |
WO2024131383A1 (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 |