基于WebRTC的音视频录制方法及装置与流程


基于webrtc的音视频录制方法及装置
技术领域
1.本公开涉及音视频技术领域,尤其涉及一种基于基于webrtc的音视频录制方法及装置。


背景技术:



2.相关技术中,在基于webrtc(web real-time communication,网页即时通信)实现如语音通话、视频通话等音视频通话时,经常会出现需要录制音视频的情况。目前,在录制音视频时,通常需要调用系统api(application programming interface,应用程序接口)从webrtc获取音视频通话中的音视频数据,对音视频数据进行封装实现音视频录制。这样,使得基于webrtc实现的音视频通话的音视频数据录制过程较为繁琐,从而导致音视频录制效率较低。


技术实现要素:



3.本公开提供一种基于webrtc的音视频录制方法及装置,以至少解决相关技术中基于webrtc实现的音视频通话的音视频数据录制过程较为繁琐,音视频录制效率较低的问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种基于webrtc的音视频录制方法,包括:
5.在基于webrtc进行音视频通话时,接收录制指令
6.响应于所述录制指令,控制所述webrtc获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;
7.控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件。
8.可选的,所述响应于所述录制指令,控制所述webrtc获取音视频数据包括如下至少一种:
9.响应于所述录制指令,控制所述webrtc获取所述音视频通话的发送端的音视频数据;
10.响应于所述录制指令,控制所述webrtc获取所述音视频通话的至少一个接收端的音视频数据。
11.可选的,所述控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件之后,还包括:
12.从所述webrtc获取所述音视频数据的录制文件;
13.保存所述音视频数据的录制文件。
14.可选的,所述音视频数据为编码后的音视频数据。
15.根据本公开实施例的第二方面,提供一种基于webrtc的音视频录制装置,包括:
16.接收模块,用于在基于webrtc进行音视频通话时,接收录制指令;
17.第一获取模块,用于响应于所述录制指令,控制所述webrtc获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;
18.录制模块,用于控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件。
19.可选的,所述第一获取模块包括如下至少一个单元:
20.第一获取单元,用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的发送端的音视频数据;
21.第二获取单元,用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的至少一个接收端的音视频数据。
22.可选的,所述基于webrtc的音视频录制装置,还包括:
23.第二获取模块,用于从所述webrtc获取所述音视频数据的录制文件;
24.保存模块,用于保存所述音视频数据的录制文件。
25.可选的,所述音视频数据为编码后的音视频数据。
26.根据本公开实施例的第三方面,提供一种电子设备,包括:
27.处理器;
28.用于存储所述处理器可执行指令的存储器;
29.其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的基于webrtc的音视频录制方法。
30.根据本公开实施例的第三方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由处理器执行时,使得电子设备能够执行如第一方面中任一项所述的基于webrtc的音视频录制方法。
31.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如第一方面中任一项所述的基于webrtc的音视频录制方法。
32.本公开的实施例提供的技术方案至少带来以下有益效果:
33.在本技术实施例中,终端在基于webrtc进行音视频通话时,若接收到录制指令,则可以控制webrtc获取包括音频数据和视频数据中至少一种的音视频数据,再控制webrtc对获取的音视频数据进行封装,得到音视频数据的录制文件。这样,终端无需将音视频数据从webrtc回调到平台层,也无需调用系统api从平台层获取音视频数据进行封装。也就是说,终端无需进行音视频数据的回调和系统api的调用,仅通过webrtc即可实现音视频数据的录制,如此,可以有效简化基于webrtc实现的音视频通话的音视频数据录制过程,从而可以有效提高音视频录制效率。
34.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
35.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
36.图1是现有技术提供的基于webrtc的音视频录制方法的示意图;
37.图2是本技术实施例提供的一种基于webrtc的音视频录制方法的流程图;
38.图3是本技术实施例提供的一种webrtc的框图;
39.图4是本技术实施例提供的一种基于webrtc的音视频录制装置的框图;
40.图5是本技术实施例提供的一种电子设备的框图。
具体实施方式
41.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
42.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
43.由背景技术部分可知,现有技术中,电子设备通常需要控制操作系统调用系统api实现基于webrtc实现的音视频通话的音视频数据录制。
44.具体的,webrtc可以采集音视频数据,再将音视频数据从webrtc底层回调到平台层,由电子设备调用系统api从平台层获取音视频数据,再对音视频数据进行录制。示例性的,如图1所示,当电子设备是ios操作系统时,电子设备则控制ios操作系统调用系统api从平台层获取音视频数据,再对音视频数据进行录制;当电子设备是android(安卓)操作系统时,电子设备则控制android操作系统调用系统api从平台层获取音视频数据,再对音视频数据进行录制;当电子设备是windows操作系统时,电子设备则控制windows操作系统调用系统api从平台层获取音视频数据,再对音视频数据进行录制。
45.可见,现有技术中,基于webrtc实现的音视频通话的音视频数据方法需要跨越很多层将音视频数据向上层回调,导致基于webrtc实现的音视频通话的音视频数据录制方法较为繁琐,音视频录制效率较低。
46.基于此,本技术提供了一种基于webrtc音视频录制方法,电子设备仅通过webrtc即可实现音视频数据的录制,从而可以有效简化基于webrtc实现的音视频通话的音视频数据录制过程,有效提高音视频录制效率。
47.图2是根据一示例性实施例示出的一种基于webrtc的音视频录制方法的流程图,该方法可以应用于电子设备,如手机、电脑等。如图2所示,基于webrtc的音视频录制方法具体可以包括以下步骤。
48.在步骤s210中,基于webrtc进行音视频通话时,接收录制指令。
49.在本实施例中,用户可以通过电子设备基于webrtc与其他用户进行音视频通话,在进行音视频通话时,若用户想录制当前音视频通话,则可以操作电子设备以控制电子设备录制当前音视频通话。这样,电子设备则可以接收到录制指令。可以理解的,录制指令也可以是电子设备自身触发的。
50.在步骤s220中,响应于录制指令,控制webrtc获取音视频数据。
51.其中,音视频数据包括音频数据和视频数据中的至少一种。也就是说,音视频数据可以是音频数据,或者视频数据,或者音频数据和视频数据。而且,音视频数据为编码后且解码前的音视频数据,示例性的,音视频数据的编码可以是在webrtc硬件采集层采集音视
频数据后进行的。
52.在本实施例中,电子设备接收到录制指令之后,响应于录制指令,可以控制webrtc获取音视频数据,如可以控制webrtc的硬件采集层获取音视频数据。
53.在步骤s230中,控制webrtc对音视频数据进行封装,得到音视频数据的录制文件。
54.在本实施例中,示例性的,如图3所示,可以先对webrtc中用于提供编码、解码、转码等功能的ffmpeg模块进行扩展,使ffmpeg模块具备封装功能。这样,电子设备在控制webrtc获取到音视频数据之后,可以控制webrtc对音视频数据进行封装,得到封装后的音视频数据,即音视频数据的录制文件。例如,可以控制webrtc中的ffmpeg模块的api将h.264(一种高度压缩数字视频编解码器标准)视频码流和opus(一种有损声音编码的格式)音频码流封装为mkv文件格式(mkv file format)的录制文件。如此,无需跨越很多层将音视频数据向上层回调,在webrtc中即可实现音视频数据的录制。
55.在本技术实施例中,终端在基于webrtc进行音视频通话时,若接收到录制指令,则可以控制webrtc获取包括音频数据和视频数据中至少一种的音视频数据,再控制webrtc对获取的音视频数据进行封装,得到音视频数据的录制文件。这样,终端无需将音视频数据从webrtc回调到平台层,也无需调用系统api从平台层获取音视频数据进行封装。也就是说,终端无需进行音视频数据的回调和系统api的调用,仅通过webrtc即可实现音视频数据的录制,如此,可以有效简化基于webrtc实现的音视频通话的音视频数据录制过程,从而可以有效提高音视频录制效率。
56.而且,本技术实施例中,封装功能作为webrtc底层的一个模块存在,使得基于webrtc即可实现音视频数据的录制。这样,一方面,可以使得webrtc的功能更加强大,提高webrtc的适用性。另一方面,webrtc中封装功能的扩展,代码结构清晰,稳定性较高,还可以降低开发维护成本。
57.在一些实施例中,上述步骤s220的具体实现方式可以包括如下至少一种:
58.响应于录制指令,控制webrtc获取音视频通话的发送端的音视频数据;
59.响应于录制指令,控制webrtc获取音视频通话的至少一个接收端的音视频数据。
60.在本实施例中,考虑到音视频通话可能是双人通话也可能是多人通话,对于音视频通话中的任一用户而言,在录制音视频数据时,既可以只录制音视频通话的发送端的音视频数据,也可以录制某个或者某几个音视频通话的接收端的音视频数据。其中,音视频通话的发送端可以理解为发起音视频通话的电子设备,也可以认为是音视频通话中当前正在输出音视频数据的电子设备。也就是说,可以仅获取音视频通话中某个或者某几个用户的音视频数据,基于此,可以实现音视频通话中某个或者某几个用户的音视频数据。
61.以音视频通话为用户a、用户b、用户c、用户d的视频会议为例,假设用户a为本次视频会议的发起人,则可以认为用户a的电子设备为发送端,用户b、用户c、用户d为接收端;或者,假设用户b为本次音视频通话中当前的发言人,则可以认为用户b为发送端,用户a、用户c、用户d为接收端。假设用户a想录制用户a、用户b、用户c各自的音视频数据,则可以控制webrtc分别获取用户a的音视频数据、用户b的音视频数据、用户c的音视频数据,然后可以操作电子设备,以使电子设备可以控制webrtc分别对用户a的音视频数据、用户b的音视频数据、用户c的音视频数据进行封装,得到用户a的音视频数据录制文件、用户b的音视频数据录制文件、用户c的音视频数据录制文件。
62.这样,不仅可以录制音视频通话中发送端和接收端的音视频数据,还可以实现音视频通话中每个用户的音视频数据的单独录制,如此可以更好的满足用户需求,提高用户体验。
63.在一些实施例中,在上述步骤s230之后,还可以执行如下处理:
64.从webrtc获取音视频数据的录制文件;
65.保存音视频数据的录制文件。
66.在本实施例中,电子设备在控制webrtc对音视频数据进行封装,得到音视频数据的录制文件之后,还可以从webrtc获取音视频数据的录制文件,并保存音视频数据的录制文件,如可以将音视频数据的录制文件保存在电子设备的内存中。这样,用户可以根据需要查看保存的录制文件,从而可以进一步满足用户需求。
67.基于相同的发明构思,本技术实施例还提供了一种基于webrtc的音视频录制装置的框图。如图4所示,基于webrtc的音视频录制装置400,包括:
68.接收模块410,可以用于在基于webrtc进行音视频通话时,接收录制指令;
69.第一获取模块420,可以用于响应于所述录制指令,控制所述webrtc获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;
70.录制模块430,可以用于控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件。
71.在一些实施例中,第一获取模块420可以包括如下至少一个单元:
72.第一获取单元,可以用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的发送端的音视频数据;
73.第二获取单元,可以用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的至少一个接收端的音视频数据。
74.在一些实施例中,基于webrtc的音视频录制装置400,还可以包括:
75.第二获取模块440,可以用于从所述webrtc获取所述音视频数据的录制文件;
76.保存模块450,可以用于保存所述音视频数据的录制文件。
77.在一些实施例中,所述音视频数据可以为编码后的音视频数据。
78.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
79.为了实现上述实施例,本技术实施例还提供了一种电子设备,如图5所示,所述电子设备500包括:处理器501;用于存储所述处理器501可执行指令的一个或多个存储器502;其中,所述处理器501被配置为执行上述实施例所述的基于webrtc的音视频录制方法。处理器501和存储器502通过通信总线连接。
80.为了实现上述实施例,本技术实施例还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器502,上述指令可由电子设备500的处理器501执行,使得电子设备能够执行上述基于webrtc的音视频录制方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
81.为了实现上述实施例,本技术实施例还提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述实施例所述的基于webrtc的音
视频录制方法。
82.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
83.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:


1.一种基于webrtc的音视频录制方法,其特征在于,包括:在基于webrtc进行音视频通话时,接收录制指令;响应于所述录制指令,控制所述webrtc获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件。2.根据权利要求1所述的基于webrtc的音视频录制方法,其特征在于,所述响应于所述录制指令,控制所述webrtc获取音视频数据包括如下至少一种:响应于所述录制指令,控制所述webrtc获取所述音视频通话的发送端的音视频数据;响应于所述录制指令,控制所述webrtc获取所述音视频通话的至少一个接收端的音视频数据。3.根据权利要求1所述的基于webrtc的音视频录制方法,其特征在于,所述控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件之后,还包括:从所述webrtc获取所述音视频数据的录制文件;保存所述音视频数据的录制文件。4.根据权利要求1所述的基于webrtc的音视频录制方法,其特征在于,所述音视频数据为编码后的音视频数据。5.一种基于webrtc的音视频录制装置,其特征在于,包括:接收模块,用于在基于webrtc进行音视频通话时,接收录制指令;第一获取模块,用于响应于所述录制指令,控制所述webrtc获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;录制模块,用于控制所述webrtc对所述音视频数据进行封装,得到所述音视频数据的录制文件。6.根据权利要求5所述的基于webrtc的音视频录制装置,其特征在于,所述第一获取模块包括如下至少一个单元:第一获取单元,用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的发送端的音视频数据;第二获取单元,用于响应于所述录制指令,控制所述webrtc获取所述音视频通话的至少一个接收端的音视频数据。7.根据权利要求5所述的基于webrtc的音视频录制装置,其特征在于,所述基于webrtc的音视频录制装置,还包括:第二获取模块,用于从所述webrtc获取所述音视频数据的录制文件;保存模块,用于保存所述音视频数据的录制文件。8.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的基于webrtc的音视频录制方法。9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由处理器执行时,使得电子设备能够执行如权利要求1至4中任一项所述的基于webrtc的音视频录制方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1-4中任一项所述的基于webrtc的音视频录制方法。

技术总结


本申请提供了一种基于WebRTC的音视频录制方法及装置,其中,所述基于WebRTC的音视频录制方法,包括:在基于WebRTC进行音视频通话时,接收录制指令;响应于所述录制指令,控制所述WebRTC获取音视频数据;所述音视频数据包括音频数据和视频数据中的至少一种;控制所述WebRTC对所述音视频数据进行封装,得到所述音视频数据的录制文件。采用本申请提供的基于WebRTC的音视频录制方法,可以有效简化基于WebRTC实现的音视频通话的音视频数据录制过程,从而可以有效提高音视频录制效率。从而可以有效提高音视频录制效率。从而可以有效提高音视频录制效率。


技术研发人员:

杨志刚 杨雨东

受保护的技术使用者:

上海绚显科技有限公司

技术研发日:

2021.11.30

技术公布日:

2022/4/8

本文发布于:2024-09-22 16:35:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/14879.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:音视频   所述   数据   指令
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议