CN115865877A - 音视频处理方法、设备及计算机可读存储介质 - Google Patents
音视频处理方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115865877A CN115865877A CN202310129249.1A CN202310129249A CN115865877A CN 115865877 A CN115865877 A CN 115865877A CN 202310129249 A CN202310129249 A CN 202310129249A CN 115865877 A CN115865877 A CN 115865877A
- Authority
- CN
- China
- Prior art keywords
- clients
- client
- video
- data streams
- audio
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种音视频处理方法、设备及计算机可读存储介质。所述方法应用于服务器,所述服务器与多个客户端相连,用于在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:接收所述多个客户端分别上传的音频数据流和视频数据流;获取任一客户端对所述多个客户端的订阅信息;将接收到的所有所述音频数据流和根据所述订阅信息确定出的已订阅的客户端对应的视频数据流传输至所述任一客户端,以供所述任一客户端进行播放。本申请能够基于订阅信息,仅将已订阅的客户端对应的视频数据流传输至任一客户端,并将全部音频数据流传输至该客户端,以避免任一客户端接收到过多视频数据流,进而导致性能压力过大的问题。
Description
技术领域
本申请涉及音视频处理领域,特别涉及一种音视频处理方法、设备及计算机可读存储介质。
背景技术
当前在多人参与的音视频交互时,例如多人进行线上视频会议,多人参加法庭的远程庭审等,各客户端会将音频数据和视频数据都上传至服务器,同时订阅其他客户端的音视频数据。服务器在接收到所有的音频数据与视频数据后,会将所有的音频数据和视频数据转发给各客户端,使其能够观看到除自身外的各客户端的视频画面,并接收到音频。
然而,随着参与人数的增多,各客户端接收到的视频数据会显著增多,以至客户端需要同时下载多路视频数据并解码、渲染,给客户端带来较大的性能压力。
发明内容
为克服相关技术中存在的问题,本申请提供了一种音视频处理方法、装置、设备及计算机可读存储介质,能够解决上述问题。
根据本申请实施例的第一方面,提供一种音视频处理方法,应用于服务器,
所述服务器与多个客户端相连,用于在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
接收所述多个客户端分别上传的音频数据流和视频数据流;
获取任一客户端对所述多个客户端的订阅信息;
将接收到的所有所述音频数据流和根据所述订阅信息确定出的已订阅的客户端对应的视频数据流传输至所述任一客户端,以供所述任一客户端进行播放。
根据本申请实施例的第二方面,提供一种音视频处理方法,应用于多个客户端中的任一客户端,所述多个客户端通过服务器相连,所述任一客户端用于通过所述服务器在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
采集视频数据流和音频数据流,并上传至所述服务器;
确定对其余客户端的订阅信息;
向所述服务器发送所述订阅信息;
接收所述服务器转发的已订阅的视频数据流和所有音频数据流,并进行播放;其中,所述已订阅的视频数据流为根据所述订阅信息确定的已订阅的客户端上传的视频数据流,所述所有音频数据流为所述多个客户端上传的音频数据流。
根据本申请实施例的第三方面,提供一种电子设备,包括:处理器、存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行如第一方面、第二方面所述的音视频处理方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面、第二方面所述的音视频处理方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请在多个客户端需要进行音频数据和视频数据的传输时,获取任一客户端对多个客户端的订阅信息,基于订阅信息,仅将已订阅的客户端对应的视频数据流传输至所述任一客户端,将所有音频数据流传输至所述任一客户端,以供播放。在部分场景中,例如视频会议、法庭远程庭审,客户端对于其他客户端上传的视频播放的需求并不高,但对各客户端上传的音频播放的需求较高,因而一方面,本申请将所有的音频数据流传输至所述任一客户端,使得所述任一客户端不会错过其余客户端的发言,另一方面,本申请仅将已订阅的客户端对应的视频数据流传输至所述任一客户端,使得所述任一客户端不会因参与的客户端数量过多,导致接收到过多的视频数据流,从而避免对过多的视频数据流进行处理导致客户端的性能压力过大。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请根据一示例性实施例示出的一种音视频处理方法的系统架构图。
图2是本申请根据一示例性实施例示出的一种音视频处理方法的示意流程图。
图3是本申请根据一示例性实施例示出的一种音视频处理方法的架构图。
图4是本申请根据一示例性实施例示出的一种确定订阅信息的方法示意图。
图5A是本申请根据一示例性实施例示出的一种确定订阅信息的方法示意图。
图5B是本申请根据一示例性实施例示出的一种确定订阅信息的方法示意图。
图6是本申请根据一示例性实施例示出的一种音视频处理方法的示意流程图。
图7是本申请根据一示例性实施例示出的一种设备的示意结构图。
图8是本申请根据一示例性实施例示出的一种音视频处理装置的框图。
图9是本申请根据一示例性实施例示出的一种音视频处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
相关技术中,多个客户端需要进行音视频数据传输时,各客户端可以上传自身的音频数据流和视频数据流至服务器,服务器可以将接收到的音频数据流和视频数据流进行转发,从而使各客户端可以通过对视频数据流与音频数据流进行解码、渲染,得到各客户端对应的视频画面和音频,再选择其中的部分视频和音频进行播放。如图1所示,客户端1、2、3分别向服务器上传了对应的音频流和视频流,相关技术中,服务器认为各客户端分别订阅了所有其他客户端,因此,将客户端1发布的音频流1和视频流1,推送给客户端2和客户端3,将客户端2发布的音频流2和视频流2,推送给客户端1和客户端3,将客户端3发布的音频流3和视频流3,推送给客户端1和客户端2,从而使得各客户端能够接收到其他所有客户端发布的音频数据和视频数据。
然而,采用这种模式进行音视频传输时,各客户端会同时下载多路视频并解码、渲染,带来客户端的性能压力,并且随着参与音视频传输的客户端数量的增多,各客户端需要接收的视频数据流的数量就随之增多,进而需要对更多路视频进行解码、渲染,导致达到性能瓶颈,出现视频卡顿或系统崩溃等问题。
为解决上述问题,本申请提出了一种音视频处理方法。图2是根据本申请的实施例示出的一种音视频处理方法的示意流程图,所述方法应用于服务器,所述服务器与多个客户端相连,用于在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
S201:接收所述多个客户端分别上传的音频数据流和视频数据流;
S202:获取任一客户端对所述多个客户端的订阅信息;
S203:将接收到的所有所述音频数据流和根据所述订阅信息确定出的已订阅的客户端对应的视频数据流传输至所述任一客户端,以供所述任一客户端进行播放。
在一实施例中,本申请提出的音视频处理方法可以应用于对多个客户端上传的视频播放需求不高的应用场景,例如多个客户端参与的音视频传输为视频会议、法庭远程庭审等场景,在这些场景下,因为任一客户端并不需要获取全部的其他参与者的视频数据,因而对各自上传的视频数据流的播放需求不高,但是,由于涉及部分特定场景,例如会议的交流讨论、庭审现场的陈述沟通等缓解,使得这些场景对各客户端上传的音频数据流的播放需求较高,鉴于播放音频带来的性能负担远小于播放视频,因此,可以在对多个客户端上传的视频播放需求不高的应用场景下使用本申请提出的方法,即对全部音频数据流进行传输,但仅对任一客户端订阅的客户端上传的视频数据流进行传输,以减轻性能负担的同时,不对音视频传输造成影响。
在一实施例中,所述任一客户端可以订阅全部的多个客户端,也可以订阅多个客户端中的部分。在本申请中订阅数量是可选的,可以由任一客户端根据所处终端的性能自行进行配置,也可以由服务器同一向各客户端分配预设数量的订阅名额,以避免任一客户端获取过多视频数据流,导致性能压力过大。
在一实施例中,各客户端可以基于所处终端的性能,确定订阅的客户端的数量,使得性能较强的终端可以播放更多客户端上传的视频,而性能较弱的终端播放较少的客户端上传的视频,从而充分利用终端的性能,并避免带来过大的性能压力。
在一实施例中,所述服务器上可以设置多个房间,并对进入同一个房间的多个客户端之间进行绑定,以使得同一个房间的多个客户端之间,可以通过服务器实现相互的音频数据和视频数据的传输。服务器也可以同时对多个房间中的音视频数据进行传输,一般情况下,不同的房间之间的音视频数据可以设置为不能互通。
参见图3,图3是根据本申请的实施例示出的一种音视频处理方法的架构图。如图3所示,服务器中已获取了客户端1-10上传的视频流1-10及音频流1-10,其中,客户端10订阅了客户端1、2、3的视频流,则服务器仅将客户端1、2、3对应的视频流1-3转发至客户端10,并将所有客户端的音频流1-10转发至客户端10。有别于相关技术中对所有视频数据流转发给任一客户端,本申请可以实现令任一客户端通过对多个客户端的订阅,使该任一客户端仅接收到已订阅的客户端对应的视频数据流,并接收所有音频数据流。使得在部分重视音频,即以音频传输为主、视频传输为辅的特定场景下的音视频传输中,减少客户端接收的视频数据流的数量,从而减轻客户端的性能负担,且所有音频数据流完整传输使得不会对本次的音视频传输造成较大影响。
在一实施例中,所述订阅信息由所述任一客户端通过下述方法确定:确定处于视频展示界面内的视频展示窗口对应的客户端,针对所述对应的客户端生成相应的订阅信息。视频展示界面用于展示视频展示窗口,并且处于视频展示界面的视频展示窗口可以播放对应的视频数据。视频展示窗口与客户端一一对应,并通过标识信息能够使用户区分各视频展示窗口分别对应哪一个客户端。
图4是根据本申请的实施例示出的一种确定订阅信息的方法示意图。如图2所示,客户端10的显示界面上显示有视频展示界面,客户端1对应视频展示窗口1。在该视频展示界面上有视频展示窗口1、视频展示窗口2、视频展示窗口3、视频展示窗口4的情况下,针对这4个视频展示窗口对应的客户端1、2、3、4生成相应的订阅信息,以使得可以在这4个视频展示窗口播放对应的客户端上传的视频数据,而在视频展示界面外的视频展示窗口5、6、7、8、9等,则视为该客户端未进行订阅;服务器除了向客户端10发送其订阅的客户端1、2、3、4的视频数据流外,还需发送所有客户端上传的音频数据。
在一实施例中,用户可基于所持终端的性能,调整视频展示界面或视频展示窗口的大小,以使得性能较高的终端能在视频展示界面中容纳更多的视频展示窗口,性能较低的终端能在视频展示界面中容纳更少的视频展示窗口。
在一实施例中,客户端界面中可以显示所有参与音视频传输的其他客户端,用户可任意选取部分客户端,使部分客户端对应的视频展示窗口处于视频展示界面内,以实现对该部分客户端的订阅。
在一实施例中,视频展示界面还可以将指定的视频展示窗口放大进行播放。其中,用户可以通过对视频展示界面中的视频展示窗口进行点击、拖拽等操作实现指定需要放大的视频展示窗口,以便用户能更方便地看清视频画面内容。
在一实施例中,所述确定处于视频展示界面内的视频展示窗口对应的客户端,包括:所述任一客户端接收用户在所述视频展示窗口上的滑动操作,变更处于所述视频展示界面内的视频展示窗口;确定处于所述视频展示界面内的变更后的视频展示窗口对应的客户端。服务器可以对于多个客户端进行排序,使得用户在滑动视频展示窗口时,按顺序变更视频展示窗口。用户可以通过多种方式输入滑动操作的指令,本申请对此并不做出限制。
图5A和图5B是根据本申请的实施例示出的一种确定订阅信息的方法示意图。
如图5A所示,当用户在客户端10的视频展示界面中的视频展示窗口上如箭头所示方向进行滑动操作时,可以对视频展示窗口的全部内容进行变更,从而变更订阅的客户端,变更对应的订阅信息,图中对视频展示窗口1、2、3、4进行变更后,位于视频展示界面的视频展示窗口变为5、6、7、8,如图5B所示。
在一实施例中,用户可以使视频展示界面内的所有视频展示窗口进行变更;可以锁定部分视频展示窗口,对其余视频展示窗口进行变更;可以仅对部分视频展示窗口进行变更。用户具体实现变更的操作,本申请并不做出限制,包括但不限于:对视频展示窗口左滑、右滑,以对全部进行变更;对部分视频展示窗口下滑进行锁定,再左滑或右滑对其余视频展示窗口进行变更;对部分视频展示窗口上拉,实现仅对部分视频展示窗口的变更。
在一实施例中,在终端存在性能冗余的情况下,还可以订阅当前处于视频展示界面内的视频展示窗口的相邻视频展示窗口,所述相连视频展示窗口为当前视频展示窗口发生变更时,即将处于视频展示界面内的视频展示窗口。通过对相邻视频展示窗口进行订阅,预加载其对应的视频流,使得用户在切换视频展示窗口时更加流畅,视频播放的延迟时间更短,承担一定额外性能压力的情况下,改善用户体验。
在一实施例中,所述订阅信息,包括:默认必选的客户端对应的订阅信息,和所述任一客户端自定义订阅的客户端对应的订阅信息。为防止任一客户端没有订阅较为重要的客户端的视频数据流,从而导致用户错过关键或重要的视频画面,可以设置任一客户端默认必须订阅该重要的客户端。该默认必须订阅的重要的客户端,可以是本次音视频传输的发起人或管理者使用的客户端。
在一实施例中,多个客户端中,管理者的客户端可以关闭其余客户端中的指定客户端的音频数据流和/或视频数据流,以避免该指定客户端发出的杂音,和/或视频画面中出现不适合的场景或标志。
在一实施例中,还包括:在新的客户端与所述服务器建立连接的情况下,向所述新的客户端告知已建立连接的所述多个客户端的信息,以供所述新的客户端订阅所述多个客户端中的至少一个;向所述多个客户端告知所述新的客户端的信息,以供所述多个客户端订阅所述新的客户端。在新的客户端需要与所述多个客户端建立音视频传输,并与服务器建立连接的情况下,服务器会将该新的客户端与所述多个客户端进行绑定,并查询所述多个客户端,并向新的客户端发送事件以通知所述多个客户端的信息,供其进行订阅;另一方面,服务器也会向多个客户端发送通知,告知有新的客户端参与音视频传输,以供多个客户端的用户选择是否订阅新的客户端。
在一实施例中,还包括:在未获取到任一客户端对所述多个客户端的订阅信息的情况下,将接收到的所有所述音频数据流和根据所述多个客户端的优先级确定的预设数量的客户端对应的视频数据流传输至所述任一客户端。各客户端在与服务器建立连接时,服务器可以获取客户端的信息,并根据客户端的用户身份信息设置优先级,例如根据各客户端上传的视频数据流设置优先级,例如上传的视频数据流较平稳的优先级较高,例如上传的视频数据流中的视频画面变化较多的优先级较高。将各客户端设置优先级,从而在任一客户端还未进行订阅的情况下,将相对来说更重要、更流畅、更有价值、用户更不想错过的视频数据流转发给所述任一客户端。
除了上述应用于服务器的音视频处理方法,本申请还提出了应用在对应的多个客户端中的任一客户端上的音视频处理方法。
如图6所示,图6是根据本申请的实施例示出的一种音视频处理方法的示意流程图,所述方法应用于多个客户端中的任一客户端,所述多个客户端通过服务器相连,所述任一客户端用于通过所述服务器在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
S601:采集视频数据流和音频数据流,并上传至所述服务器;
S602:确定对其余客户端的订阅信息;
S603:向所述服务器发送所述订阅信息;
S604:接收所述服务器转发的已订阅的视频数据流和所有音频数据流,并进行播放;其中,所述已订阅的视频数据流为根据所述订阅信息确定的已订阅的客户端上传的视频数据流,所述所有音频数据流为所述多个客户端上传的音频数据流。
在一实施例中,所述任一客户端与服务器建立连接,并将采集的本地视频数据流和音频数据流上传至服务器,以供服务器向所有其他客户端发送音频数据流,并在其他客户端订阅后,向其他客户端发送该任一客户端的视频数据流。所述任一客户端通过确定订阅信息,并将该订阅信息上传,以使服务器将已订阅的客户端对应的视频数据流和所有客户端的音频数据流发送至该任一客户端,从而实现与多个客户端进行音视频传输时,减轻接收大量视频数据流带来的性能压力。
在一实施例中,在未确定对其余客户端的订阅信息的情况下,接收所述服务器转发的所述所有音频数据流和根据所述多个客户端的优先级确定的预设数量的客户端对应的视频数据流,并进行播放。
与本申请的方法项实施例对应,本申请还提供了相应的音视频处理装置实施例。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器710、网络接口720、内存730以及非易失性存储器740,当然还可能包括其他业务所需要的硬件。本申请一个或多个实施例可以基于软件方式来实现,比如由处理器710从非易失性存储器740中读取对应的计算机程序到内存730中然后运行。当然,除了软件实现方式之外,本申请一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参见图8,图8是本申请一实施例中音视频处理装置的框图。该音视频处理装置可以应用于如图7所示的电子设备中,以实现本申请的技术方案。其中,所述装置应用于服务器,所述服务器与多个客户端相连,用于在所述多个客户端之间进行音频数据和视频数据的传输;所述装置包括:
接收单元810,用于接收所述多个客户端分别上传的音频数据流和视频数据流;
订阅单元820,用于获取任一客户端对所述多个客户端的订阅信息;
传输单元830,用于将接收到的所有所述音频数据流和根据所述订阅信息确定出的已订阅的客户端对应的视频数据流传输至所述任一客户端,以供所述任一客户端进行播放。
可选的,所述订阅信息由所述任一客户端通过下述方法确定:
确定处于视频展示界面内的视频展示窗口对应的客户端,针对所述对应的客户端生成相应的订阅信息。
可选的,所述确定处于视频展示界面内的视频展示窗口对应的客户端,包括:
所述任一客户端接收用户在所述视频展示窗口上的滑动操作,变更处于所述视频展示界面内的视频展示窗口;
确定处于所述视频展示界面内的变更后的视频展示窗口对应的客户端。
可选的,所述订阅信息,包括:
默认必选的客户端对应的订阅信息,和所述任一客户端自定义订阅的客户端对应的订阅信息。
可选的,还包括:
在新的客户端与所述服务器建立连接的情况下,向所述新的客户端告知已建立连接的所述多个客户端的信息,以供所述新的客户端订阅所述多个客户端中的至少一个;
向所述多个客户端告知所述新的客户端的信息,以供所述多个客户端订阅所述新的客户端。
可选的,还包括:
在未获取到任一客户端对所述多个客户端的订阅信息的情况下,将接收到的所有所述音频数据流和根据所述多个客户端的优先级确定的预设数量的客户端对应的视频数据流传输至所述任一客户端。
请参见图9,图9是本申请一实施例中音视频处理装置的框图。该音视频处理装置可以应用于如图7所示的电子设备中,以实现本申请的技术方案。其中,所述装置应用于多个客户端中的任一客户端,所述多个客户端通过服务器相连,所述任一客户端用于通过所述服务器在所述多个客户端之间进行音频数据和视频数据的传输;所述装置包括:
上传单元910,用于采集视频数据流和音频数据流,并上传至所述服务器;
确定单元920,用于确定对其余客户端的订阅信息;
发送单元930,用于向所述服务器发送所述订阅信息;
播放单元940,用于接收所述服务器转发的已订阅的视频数据流和所有音频数据流,并进行播放;其中,所述已订阅的视频数据流为根据所述订阅信息确定的已订阅的客户端上传的视频数据流,所述所有音频数据流为所述多个客户端上传的音频数据流。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关指出参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本申请一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本申请一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本申请一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本申请中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本申请中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请一个或多个实施例的实施例而已,并不用于限制本申请一个或多个实施例。对于本领域技术人员来说,本申请一个或多个实施例可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (10)
1.一种音视频处理方法,其特征在于,应用于服务器,所述服务器与多个客户端相连,用于在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
接收所述多个客户端分别上传的音频数据流和视频数据流;
获取任一客户端对所述多个客户端的订阅信息;
将接收到的所有所述音频数据流和根据所述订阅信息确定出的已订阅的客户端对应的视频数据流传输至所述任一客户端,以供所述任一客户端进行播放。
2.根据权利要求1所述的方法,其特征在于,所述订阅信息由所述任一客户端通过下述方法确定:
确定处于视频展示界面内的视频展示窗口对应的客户端,针对所述对应的客户端生成相应的订阅信息。
3.根据权利要求2所述的方法,其特征在于,所述确定处于视频展示界面内的视频展示窗口对应的客户端,包括:
所述任一客户端接收用户在所述视频展示窗口上的滑动操作,变更处于所述视频展示界面内的视频展示窗口;
确定处于所述视频展示界面内的变更后的视频展示窗口对应的客户端。
4.根据权利要求1所述的方法,其特征在于,所述订阅信息,包括:
默认必选的客户端对应的订阅信息,和所述任一客户端自定义订阅的客户端对应的订阅信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
在新的客户端与所述服务器建立连接的情况下,向所述新的客户端告知已建立连接的所述多个客户端的信息,以供所述新的客户端订阅所述多个客户端中的至少一个;
向所述多个客户端告知所述新的客户端的信息,以供所述多个客户端订阅所述新的客户端。
6.根据权利要求1所述的方法,其特征在于,还包括:
在未获取到任一客户端对所述多个客户端的订阅信息的情况下,将接收到的所有所述音频数据流和根据所述多个客户端的优先级确定的预设数量的客户端对应的视频数据流传输至所述任一客户端。
7.一种音视频处理方法,其特征在于,应用于多个客户端中的任一客户端,所述多个客户端通过服务器相连,所述任一客户端用于通过所述服务器在所述多个客户端之间进行音频数据和视频数据的传输;所述方法包括:
采集视频数据流和音频数据流,并上传至所述服务器;
确定对其余客户端的订阅信息;
向所述服务器发送所述订阅信息;
接收所述服务器转发的已订阅的视频数据流和所有音频数据流,并进行播放;其中,所述已订阅的视频数据流为根据所述订阅信息确定的已订阅的客户端上传的视频数据流,所述所有音频数据流为所述多个客户端上传的音频数据流。
8.根据权利要求7所述的方法,其特征在于,还包括:
在未确定对其余客户端的订阅信息的情况下,接收所述服务器转发的所述所有音频数据流和根据所述多个客户端的优先级确定的预设数量的客户端对应的视频数据流,并进行播放。
9.一种电子设备,其特征在于,包括:处理器、存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行如权利要求1-7中任一项所述的音视频处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的音视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129249.1A CN115865877B (zh) | 2023-02-13 | 2023-02-13 | 音视频处理方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129249.1A CN115865877B (zh) | 2023-02-13 | 2023-02-13 | 音视频处理方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115865877A true CN115865877A (zh) | 2023-03-28 |
CN115865877B CN115865877B (zh) | 2023-05-16 |
Family
ID=85658306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310129249.1A Active CN115865877B (zh) | 2023-02-13 | 2023-02-13 | 音视频处理方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865877B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100149301A1 (en) * | 2008-12-15 | 2010-06-17 | Microsoft Corporation | Video Conferencing Subscription Using Multiple Bit Rate Streams |
CN102377686A (zh) * | 2010-08-10 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种消息订阅系统、消息订阅方法及装置 |
US20130339451A1 (en) * | 2011-03-10 | 2013-12-19 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Prioritizing Media within an Electronic Conference According to Utilization Settings at Respective Conference Participants |
CN108293013A (zh) * | 2016-02-29 | 2018-07-17 | 铁三角有限公司 | 会议系统 |
CN108337535A (zh) * | 2018-03-21 | 2018-07-27 | 广州视源电子科技股份有限公司 | 客户端视频的转发方法、装置、设备和存储介质 |
US20180279050A1 (en) * | 2017-03-24 | 2018-09-27 | Samsung Electronics Co., Ltd. | Method and electronic device for transmitting audio data to multiple external devices |
CN110198478A (zh) * | 2019-05-10 | 2019-09-03 | 广州视源电子科技股份有限公司 | 交互录播方法、系统、客户端、装置、设备及存储介质 |
EP3694146A1 (fr) * | 2019-02-07 | 2020-08-12 | Apizee | Procédé de traitement de flux audiovidéo en conférence multipartite, dispositifs, système et programme correspondants |
CN111541860A (zh) * | 2019-12-30 | 2020-08-14 | 宁波菊风系统软件有限公司 | 一种实时音频传输系统及其使用方法 |
CN112203038A (zh) * | 2020-10-12 | 2021-01-08 | 北京字节跳动网络技术有限公司 | 在线会议的处理方法、装置、电子设备及计算机存储介质 |
CN113727061A (zh) * | 2021-11-01 | 2021-11-30 | 江苏怀业信息技术股份有限公司 | 用于视频会议系统的音视频同步方法 |
US20220021846A1 (en) * | 2010-05-25 | 2022-01-20 | Cisco Technology, Inc. | System and method for scalable media switching conferencing |
CN115665438A (zh) * | 2022-12-26 | 2023-01-31 | 共道网络科技有限公司 | 法庭远程庭审的音视频处理方法、装置、设备及存储介质 |
-
2023
- 2023-02-13 CN CN202310129249.1A patent/CN115865877B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100149301A1 (en) * | 2008-12-15 | 2010-06-17 | Microsoft Corporation | Video Conferencing Subscription Using Multiple Bit Rate Streams |
US20220021846A1 (en) * | 2010-05-25 | 2022-01-20 | Cisco Technology, Inc. | System and method for scalable media switching conferencing |
CN102377686A (zh) * | 2010-08-10 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种消息订阅系统、消息订阅方法及装置 |
US20130339451A1 (en) * | 2011-03-10 | 2013-12-19 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Prioritizing Media within an Electronic Conference According to Utilization Settings at Respective Conference Participants |
CN108293013A (zh) * | 2016-02-29 | 2018-07-17 | 铁三角有限公司 | 会议系统 |
US20180279050A1 (en) * | 2017-03-24 | 2018-09-27 | Samsung Electronics Co., Ltd. | Method and electronic device for transmitting audio data to multiple external devices |
CN108337535A (zh) * | 2018-03-21 | 2018-07-27 | 广州视源电子科技股份有限公司 | 客户端视频的转发方法、装置、设备和存储介质 |
EP3694146A1 (fr) * | 2019-02-07 | 2020-08-12 | Apizee | Procédé de traitement de flux audiovidéo en conférence multipartite, dispositifs, système et programme correspondants |
CN110198478A (zh) * | 2019-05-10 | 2019-09-03 | 广州视源电子科技股份有限公司 | 交互录播方法、系统、客户端、装置、设备及存储介质 |
CN111541860A (zh) * | 2019-12-30 | 2020-08-14 | 宁波菊风系统软件有限公司 | 一种实时音频传输系统及其使用方法 |
CN112203038A (zh) * | 2020-10-12 | 2021-01-08 | 北京字节跳动网络技术有限公司 | 在线会议的处理方法、装置、电子设备及计算机存储介质 |
CN113727061A (zh) * | 2021-11-01 | 2021-11-30 | 江苏怀业信息技术股份有限公司 | 用于视频会议系统的音视频同步方法 |
CN115665438A (zh) * | 2022-12-26 | 2023-01-31 | 共道网络科技有限公司 | 法庭远程庭审的音视频处理方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
JOÃO MARTINS DE OLIVEIRA NETO等: "Video Streaming Over Publish/Subscribe", 《WEBMEDIA \'16: PROCEEDINGS OF THE 22ND BRAZILIAN SYMPOSIUM ON MULTIMEDIA AND THE WEB》 * |
吴晨;林伟;: "基于WebRTC的音视频通信的设计与实现", 有线电视技术 * |
张龙;殷亚玲;耿小峰;: "基于单服务器实现大容量会议服务的系统及方法研究", 电子设计工程 * |
Also Published As
Publication number | Publication date |
---|---|
CN115865877B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111901674B (zh) | 一种视频播放控制方法及装置 | |
KR101617906B1 (ko) | 다중 비트 전송률 스트림을 사용한 영상 회의 구독 | |
US8380790B2 (en) | Video conference rate matching | |
CN102572606B (zh) | 带有灵活的远程回放的流播的数字内容 | |
US9021357B2 (en) | System and method for enabling collaborative media stream editing | |
US20100034425A1 (en) | Method, apparatus and system for generating regions of interest in video content | |
CN113965751B (zh) | 屏幕内容编码方法、装置、设备及存储介质 | |
CN105657502A (zh) | 一种自定义菜单的实现方法、装置、客户端及服务器 | |
CN111279709A (zh) | 提供视频推荐 | |
US20240137617A1 (en) | Video playing method and apparatus, and storage medium | |
CN111541905B (zh) | 一种直播方法、装置、计算机设备和存储介质 | |
CN108966024B (zh) | 一种音视频流的传输方法、回放方法、装置及系统 | |
US20230217047A1 (en) | Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment | |
US11277275B2 (en) | Device ranking for secure collaboration | |
CN115314732B (zh) | 一种多用户协同审片方法及系统 | |
CN115865877A (zh) | 音视频处理方法、设备及计算机可读存储介质 | |
US20220116677A1 (en) | Method, system, and computer readable recording medium for implementing seamless switching mode between channels in multi-stream live transmission environment | |
US10812549B1 (en) | Techniques for secure screen, audio, microphone and camera recording on computer devices and distribution system therefore | |
JP2024517702A (ja) | シングルストリームを利用して関心領域の高画質映像を提供する方法、コンピュータ装置、およびコンピュータプログラム | |
CN116074465B (zh) | 跨网庭审系统、方法、设备及计算机可读存储介质 | |
US20180324472A1 (en) | Video streaming management system for enhanced user engagement in a subscribed network | |
CN117793450A (zh) | 直播连麦合流方法及系统 | |
CN115801992A (zh) | 视频流处理方法、装置和电子设备 | |
WO2023149954A1 (en) | Session description protocol (sdp) signaling of occlude-free regions in 360 video conferencing | |
CN115942056A (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 |