CN113286161A - 一种直播方法、装置、设备及存储介质 - Google Patents
一种直播方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113286161A CN113286161A CN202110548002.4A CN202110548002A CN113286161A CN 113286161 A CN113286161 A CN 113286161A CN 202110548002 A CN202110548002 A CN 202110548002A CN 113286161 A CN113286161 A CN 113286161A
- Authority
- CN
- China
- Prior art keywords
- audio data
- data
- live broadcast
- live
- playing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000003044 adaptive effect Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 18
- 238000004088 simulation Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000003796 beauty Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/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/439—Processing of audio elementary streams
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4668—Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例提供了一种直播方法、装置、移动终端及存储介质,应用于移动终端,分别采集视频数据、调用麦克风采集外部音频数据,获取第三方的应用程序正在播放的源音频数据,确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件,根据外部音频数据与源音频数据生成适于播放硬件播放的目标音频数据,将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。能够根据播放音频的播放硬件自适应混音,避免扬声器播放的声音经外界环境多次反射产生回声,导致观众听到的音频的音质较差的问题,提高了直播音质,以及避免麦克风无法采集到第三方的应用程序播放的音频的问题,使得观众能够听到第三方的应用程序播放的音频。
Description
技术领域
本发明实施例涉及网络直播技术领域,尤其涉及一种直播方法、装置、设备及存储介质。
背景技术
随着移动互联网技术的快速发展,诸如智能手机、平板电脑等移动终端设备上的直播业务广受欢迎,收看者除了可以观看到实时的直播画面外,还可以听到对主播的解说声音、通过移动终端内的第三方的应用程序播放的音频的声音(例如,背景音乐的声音)等。
在直播过程中,通常通过麦克风采集解说声音和第三方的应用程序播放的音频的声音,然后将解说声音和采集的第三方的应用程序播放的音频的声音进行混音,并推送至直播间。
现有的混音方式容易导致直播时音频出错,导致观众听到音频的音质较差或无法听到第三方的应用程序播放的音频的情况。
发明内容
本发明提供一种直播方法、装置、移动终端及存储介质,以提高直播音质,并使得观众能够听到第三方的应用程序播放的音频。
第一方面,本发明实施例提供了一种直播方法,应用于移动终端,所述方法包括:
分别采集视频数据、调用麦克风采集外部音频数据;
获取第三方的应用程序正在播放的源音频数据;
确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
第二方面,本发明实施例还提供了一种直播装置,应用于移动终端,所述装置包括:
数据获取模块,用于分别采集视频数据、调用麦克风采集外部音频数据;
源音频数据获取模块,用于获取第三方的应用程序正在播放的源音频数据;
播放硬件确定模块,用于确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
目标音频数据生成模块,用于根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
推流模块,用于将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
第三方面,本发明实施例还提供了一种移动终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面提供的直播方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面提供的直播方法。
本发明实施例提供的直播方法,应用于移动终端,包括:分别采集视频数据、调用麦克风采集外部音频数据,获取第三方的应用程序正在播放的源音频数据,确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件,根据外部音频数据与源音频数据生成适于播放硬件播放的目标音频数据,将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。能够根据播放音频的播放硬件自适应混音,避免扬声器播放的声音经外界环境多次反射产生回声,导致观众听到的音频的音质较差的问题,提高了直播音质,以及避免麦克风无法采集到第三方的应用程序播放的音频的问题,使得观众能够听到第三方的应用程序播放的音频,有利于提高增加直播氛围,提高直播质量。
附图说明
图1为本发明实施例一提供的一种直播方法的流程图;
图2为本发明实施例二提供的一种直播方法的流程图;
图3为本发明实施例三提供的直播装置的结构示意图;
图4为本发明实施例四提供的一种移动终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
如前文所述,现有的混音方式容易导致直播时音频出错,导致观众听到音频的音质较差或无法听到第三方的应用程序播放的音频的情况。这是由于移动终端通常具有两种不同的音频播放硬件,即扬声器和耳机。在直播过程中,如果使用扬声器播放音频,由于扬声器播放的声音经外界环境多次反射,并反馈到麦克风,产生回声,导致观众听到的音频的音质较差;如果使用耳机播放音频,则麦克风无法采集到第三方的应用程序播放的音频,进而观众无法听到第三方的应用程序播放的音频。
针对上述问题,本发明实施例提供了一种直播方法,能够根据播放音频的播放硬件自适应混音,以解决现有的直播方案中观众听到音频的音质较差或无法听到第三方的应用程序播放的音频的情况。
图1为本发明实施例一提供的一种直播方法的流程图,本实施例可适用于直播过程中采用第三方的应用程序播放音频情况,该方法可以由本发明实施例提供的直播装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于移动终端中,如图1所示,该方法具体包括如下步骤:
S101、分别采集视频数据、调用麦克风采集外部音频数据。
在本发明实施例中,移动终端可以是智能手机或平板电脑,移动终端搭载的操作系统可以是Android(安卓)或iOS操作系统等,本发明实施例在此不做限定。该操作系统中可以安装主播客户端。其中,该主播客户端可以为独立的应用,也可以为配置可直播组件(如SDK)的应用,还可以为具有浏览组件的应用,该具有浏览组件的应用可包括浏览器、配置WebView的应用,等等,本实施例对此不加以限制。
视频数据可以包括移动终端录制的移动终端的显示屏显示的画面数据和摄像头采集的视频数据。示例性的,在本发明实施例中,摄像头采集的视频数据为摄像头采集的包括主播用户的头像的视频数据,移动终端录制的移动终端的显示屏显示的画面数据可以是主播用户当前正在操作的应用程序(Application,APP)的界面,例如,游戏客户端的画面。
外部音频数据为相对于移动终端内部的音频数据而言的,其包括外部环境音、主播用户说话的声音、以及通过扬声器播放的音频。需要说明的是,当移动终端通过耳机播放音频时,则外部音频数据不包括通过扬声器播放的音频。
S102、获取第三方的应用程序正在播放的源音频数据。
在本方实施例中,可以通过移动终端的内录功能,录制第三方的应用程序正在播放的源音频数据。示例性的,可以通过移动终端的声卡录制第三方的应用程序正在播放的源音频数据,或者通过移动终端的录屏功能录制第三方的应用程序正在播放的源音频数据,本发明实施例在此不做限定。
需要注意的是,该源音频数据是指扬声器或耳机播放该音频的源数据,而非是对扬声器播放出的声音进行采集得到的音频数据。
在本发明实施例中,第三方的应用程序是相对于主播客户端而言的,除了主播客户端外,其他的能够产生音频数据的应用程序都称之为第三方的应用程序。例如,第三方的应用程序可以是操作系统自带的音频播放APP或其他商家推出的音频播放APP、被录制的应用程序(例如游戏客户端)等,本发明实施例在此不做限定。
示例性的,在本发明一实施例中,第三方的应用程序包括音乐播放器和被录制的应用程序(例如游戏客户端),音乐播放器通常具有丰富的音乐库,主播用户可以通过第三方的应用程序播放伴奏或背景音乐,以调节直播间的氛围。
在本发明的一些实施例中,如果被录制的应用程序(例如,绘画或文档处理类应用程序)本身不产生音频,则只需获取音乐播放器正在播放的源音频数据即可。在本发明的另一些实施例中,如果被录制的应用程序本身也会产生音频,例如,游戏客户端运行过程中播放的游戏声音,那么,源音频数据包括音乐播放器正在播放的源音频数据和被录制的应用程序正在播放的源音频数据。
S103、确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件。
在本发明实施例中,在获取到视频数据和音频数据之后,主播客户端会生成预览信息,并在预览界面进行展示。主播用户可以在预览界面预先浏览直播画面(即预览视频数据)以及收听直播音频(即预览音频数据),以了解视频效果和音频效果,并对视频效果和音频效果及时调整。视频效果包括自身的形象、美颜效果和表情贴图等。
在主播客户端预览直播数据时,确定播放预览音频数据的播放硬件。移动终端的播放硬件包括扬声器和耳机,耳机包括有线耳机和无线耳机。具体的,采用不同的播放硬件播放音频具有不同的音频输出通道,当采用扬声器播放音频时,其输出通道为扬声器输出通道;当采用耳机播放音频时,其输出通道为耳机输出通道。具体的,可以通过音频管理器(Audio Manager)查询移动终端当前的音频输出通道,进而确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件。
S104、根据外部音频数据与源音频数据生成适于播放硬件播放的目标音频数据。
在本发明实施例中,根据外部音频数据与源音频数据生成适于播放硬件播放的目标音频数据,以自适应当前用于播放音频的播放硬件。
示例性的,在主播客户端预览直播数据时用于播放预览音频数据的播放硬件为扬声器时,可以对采集到的外部音频数据进行回声消除,以去除外部音频数据中通过扬声器播放的音频,仅保留外部环境音和主播用户说话的声音,得到第一音频数据,然后,将第一音频数据与源音频数据做混音处理,得到适于所述扬声器播放的目标音频数据。如此,避免了扬声器播放的声音经外界环境多次反射产生回声,导致观众听到的音频的音质较差的问题,提高了直播音质。
在主播客户端预览直播数据时用于播放预览音频数据的播放硬件为耳机时,由于麦克风采集的外部音频数据仅包括外部环境音和主播用户说话,而没有扬声器播放的音频,因此,可以直接将外部音频数据与源音频数据做混音处理,得到适于耳机播放的目标音频数据。如此,避免了麦克风无法采集到第三方的应用程序播放的音频的问题,使得观众能够听到第三方的应用程序播放的音频,有利于提高增加直播氛围,提高直播质量。
S105、将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。
将视频数据与目标音频数据作为直播数据,推流至主播用户的账户的直播间,从而推送给进入该直播间的观众的客户端。示例性的,将视频数据与目标音频数据作为直播数据,推流至直播服务器,且直播数据携带有主播用户的直播间的标识信息。观众可以访问直播服务器,通过该直播间的标识信息进入直播间,获取直播数据。直播数据可以是当前正在直播平台中直播的数据或者直播完成后形成的完整数据,本发明实施例在此不做限定。
本发明实施例提供的直播方法,应用于移动终端,包括:分别采集视频数据、调用麦克风采集外部音频数据,获取第三方的应用程序正在播放的源音频数据,确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件,根据外部音频数据与源音频数据生成适于播放硬件播放的目标音频数据,将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。能够根据播放音频的播放硬件自适应混音,避免扬声器播放的声音经外界环境多次反射产生回声,导致观众听到的音频的音质较差的问题,提高了直播音质,以及避免麦克风无法采集到第三方的应用程序播放的音频的问题,使得观众能够听到第三方的应用程序播放的音频,有利于提高增加直播氛围,提高直播质量。
实施例二
图2为本发明实施例二提供的一种直播方法的流程图,本实施例在前述实施例一的基础上,详细描述了上述实施例中各步骤的详细过程,如图2所示,该方法包括:
S201、分别采集视频数据、调用麦克风采集外部音频数据。
在本发明实施例中,直播客户端通过调用移动终端的摄像头采集视频数据。
外部音频数据为相对于移动终端内部的音频数据而言的,其包括外部环境音、主播用户说话的声音、以及通过扬声器播放的音频。需要说明的是,当移动终端通过耳机播放音频时,则外部音频数据不包括通过扬声器播放的音频。
S202、响应于接收到的录屏指令,启动移动终端的录屏进程。
示例性的,在本发明一具体实施例中,移动终端运行iOS系统,主播客户端的界面具有录屏键,主播用户点击录屏键,生成录屏指令。主播客户端响应于接收到的录屏指令,通过replaykit extention启动iOS系统的录屏进程。采用iOS系统的replaykit提供的内录功能,录制第三方的应用程序正在播放的源音频数据和被录制的应用程序的界面(例如,游戏客户端的运行界面)。
需要说明的是,在本发明另一些实施例中,移动终端可以运行安卓系统,主播客户端响应于接收到的录屏指令,启动安卓系统的录屏进程,本发明实施例在此不再赘述。
S203、建立与录屏进程之间的数据传输通道。
示例性的,如前文所述,移动终端运行iOS系统,在启动录屏进程之后,主播客户端与录屏进程之间通过本地socket通信建立数据传输通道。
S204、通过数据传输通道接收录屏进程录制的第三方的应用程序正在播放的源音频数据。
在建立数据传输通道之后,主播客户端通过数据传输通道接收录屏进程录制的第三方的应用程序正在播放的源音频数据,以及接收录屏进程录制的被录制的应用程序的界面的视频数据。
当播放硬件为扬声器时,后续需要对外部音频数据进行回声消除,为了保证回声消除的效果,需要严格控制源音频数据回传到主播客户端的延时。具体的,在录屏进程向主播客户端传输数据的过程中,采用TCP(Transmission Control Protocol)协议进行传输。具体的,将源音频数据打包为多个音频数据包,通过上述建立的数据传输通道每次接收一个音频数据包。避免多个音频数据包同步发送或接收,数据传输通道阻塞,导致数据传输延时的问题,提高了回声消除的效果,提高了直播音质。
进一步的,在上述实施例的基础上,主播客户端通过异步通讯方式接收音频数据包,不阻塞录屏进程的发送线程,进一步降低数据传输延时,提高了回声消除的效果,提高了直播音质。
S205、确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件。
在本发明实施例中,在获取到视频数据和音频数据之后,主播客户端会生成预览界面,主播用户可以在预览界面预先浏览直播画面(即预览视频数据)以及收听直播音频(即预览音频数据),以了解视频效果和音频效果,并对视频效果和音频效果及时调整。视频效果包括自身的形象、美颜效果和表情贴图等。
在主播客户端预览直播数据时,确定播放预览音频数据的播放硬件。移动终端的播放硬件包括扬声器和耳机,耳机包括有线耳机和无线耳机。具体的,采用不同的播放硬件播放音频具有不同的音频输出通道,当采用扬声器播放音频时,其输出通道为扬声器输出通道;当采用耳机播放音频时,其输出通道为耳机输出通道。具体的,可以通过音频管理器(Audio Manager)查询移动终端当前的音频输出通道,进而确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件。
S206、在播放硬件为扬声器时,对外部音频数据进行回声消除,得到第一音频数据。
具体的,在播放硬件为扬声器时,需要对外部音频数据进行回声消除,去除通过扬声器播放的音频,仅保留外部环境音和主播用户说话的声音,得到第一音频数据,并对第一音频数据和源音频数据进行混音处理,得到目标音频数据。具体参考步骤S206-S207。
具体的,对外部音频数据进行回声消除的过程如以下子步骤所示:
S2061、将外部音频数据输入预先构建的自适应滤波器中进行处理,得到模拟回声信号的模拟音频数据。
具体的,预先构建自适应滤波器,自适应滤波器是指根据环境的改变,使用自适应算法来改变滤波器的参数和结构的滤波器。自适应滤波器的系数是由自适应算法更新的时变系数。即其系数自动连续地适应于给定信号,以获得期望响应。自适应滤波器的最重要的特征就在于它能够在未知环境中有效工作,并能够跟踪输入信号的时变特征。
回声消除就是通过自适应滤波器模拟回声通道,得到模拟回声信号的模拟音频数据,并确保模拟音频数据与输入的外部音频数据的误差尽可能的小,然后将输入的外部音频信号减去模拟音频数据,得到不包含回声信号的音频数据。
具体过程如下:
1、更新自适应滤波器的模拟参数。
具体的,对于初次应用,需要人为设定自适应滤波器的初始的模拟参数。在后续更新过程中,基于自适应算法更新自适应滤波器的模拟参数。
2、将外部音频数据与模拟参数相乘,得到第二音频数据。
将输入的外部音频数据与模拟参数相乘,得到第二音频数据。实际上,自适应滤波器的输出为输入信号和模拟参数的卷积。具体公式如下:
3、计算第二音频数据与外部音频数据的误差。
具体的,计算均方误差作为第二音频数据与外部音频数据的误差e(n)。我们的目的是最小化这个误差。
4、判断误差是否小于或等于预设的阈值。
具体的,将计算得到的误差e(n)与预设的阈值进行比较,判断误差e(n)是否小于或等于预设的阈值。
5、若误差小于或等于所述阈值,则将第二音频数据作为模拟音频数据。
若误差小于或等于所述阈值,则说明自适应滤波器训练完成,适应滤波器的声学特性接近于房间的声学特性,此时,将第二音频数据作为模拟音频数据。
6、若误差大于阈值,则返回更新自适应滤波器的模拟参数。
具体的,自适应滤波器的训练采用随机梯度下降法更新自适应滤波器的模拟参数。具体的,更新公式如下:
w(n+1)=w(n)+2μe(n)·x(n)
其中,μ迭代步长,x(n)为输入的外部音频数据。
S2062、将外部音频数据减去模拟音频数据,得到第一音频数据。
具体的,将外部音频数据减去模拟音频数据,以去除外部音频数据中通过扬声器播放的音频(即回声信号),得到第一音频数据,即保留外部环境音和主播用户说话的声音。
S207、对源音频数据和第一音频数据做混音处理,得到适于扬声器播放的目标音频数据。
混音是把多种来源的声音,整合至一个立体音轨或单音音轨中的处理过程。具体的,对源音频数据和第一音频数据做混音处理,得到适于扬声器播放的目标音频数据。由于在混音之前,对外部音频数据进行了回声消除,消除了外部音频数据中的回声信号,然后对消除了回声信号的音频数据与内录的源音频数据做混音处理,得到目标音频数据,因此,观众能够听到清晰的第三方的应用程序播放的音频,提高了直播音质。
S208、在播放硬件为耳机时,对外部音频数据和源音频数据做混音处理,得到适于耳机播放的目标音频数据。
在步骤S205中,如果确定在主播客户端预览直播数据时用于播放预览音频数据的播放硬件为耳机时,由于麦克风采集的外部音频数据仅包括外部环境音和主播用户说话,而没有扬声器播放的音频,因此,可以直接将外部音频数据与源音频数据做混音处理,得到适于耳机播放的目标音频数据。
S209、将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。
在本发明实施例中,在经过上述步骤得到目标音频数据之后,将视频数据与目标音频数据作为直播数据,推流至指定的直播间发布。具体的,在本发明的一些实施例中,视频数据包括摄像头采集的数据以及录屏进程录制的被录制的应用程序的界面的数据(例如,游戏客户端的显示界面)。示例性的,将视频数据与目标音频数据作为直播数据,通过UDP(User Datagram Protocol,用户数据报协议)传输层的视频流传输方式推流至直播服务器,且直播数据携带有主播用户的直播间的标识信息。观众可以访问直播服务器,通过该直播间的标识信息进入直播间,获取直播数据。
本发明实施例提供的直播方法,应用于移动终端,能够根据播放音频的播放硬件自适应混音,避免扬声器播放的声音经外界环境多次反射产生回声,导致观众听到的音频的音质较差的问题,提高了直播音质,以及避免麦克风无法采集到第三方的应用程序播放的音频的问题,使得观众能够听到第三方的应用程序播放的音频,有利于提高增加直播氛围,提高直播质量。此外,采用异步通讯方式从录屏进程接收音频数据包,不阻塞录屏进程的发送线程,且每次接收一个音频数据包,避免多个音频数据包同步发送或接收,数据传输通道阻塞,导致数据传输延时的问题,提高了回声消除的效果,提高了直播音质。
实施例三
图3为本发明实施例三提供的直播装置的结构示意图,如图3所示,该装置应用于移动终端,该装置包括:
数据获取模块301,用于分别采集视频数据、调用麦克风采集外部音频数据;
源音频数据获取模块302,用于获取第三方的应用程序正在播放的源音频数据;
播放硬件确定模块303,用于确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
目标音频数据生成模块304,用于根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
推流模块305,用于将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
在本发明的一些实施例中,源音频数据获取模块302包括:
录屏进程启动子模块,用于响应于接收到的录屏指令,启动移动终端的录屏进程;
传输通道建立子模块,用于建立与所述录屏进程之间的数据传输通道;
数据传输子模块,用于通过所述数据传输通道接收所述录屏进程录制的第三方的应用程序正在播放的源音频数据。
在本发明的一些实施例中,所述移动终端运行iOS系统,录屏进程启动子模块用于响应于接收到的录屏指令,通过replaykit extention启动iOS系统的录屏进程。
在本发明的一些实施例中,数据传输子模块包括:
数据打包单元,用于将所述源音频数据打包为多个音频数据包;
音频数据包接收单元,用于通过所述数据传输通道每次接收一个所述音频数据包。
在本发明的一些实施例中,数据传输子模块还用于通过异步通讯方式接收所述音频数据包。
在本发明的一些实施例中,目标音频数据生成模块304包括:
回声消除子模块,用于在所述播放硬件为扬声器时,对所述外部音频数据进行回声消除,得到第一音频数据;
第一混音子模块,用于对所述源音频数据和所述第一音频数据做混音处理,得到适于所述扬声器播放的目标音频数据。
在本发明的一些实施例中,目标音频数据生成模块304还包括:
第二混音子模块,用于在所述播放硬件为耳机时,对所述外部音频数据和所述源音频数据做混音处理,得到适于所述耳机播放的目标音频数据。
在本发明的一些实施例中,回声消除子模块包括:
滤波处理单元,用于将所述外部音频数据输入预先构建的自适应滤波器中进行处理,得到模拟回声信号的模拟音频数据;
音频减除单元,用于将所述外部音频数据减去所述模拟音频数据,得到第一音频数据。
在本发明的一些实施例中,滤波处理单元包括:
参数更新子单元,用于更新自适应滤波器的模拟参数;
乘积子单元,用于将所述外部音频数据与所述模拟参数相乘,得到第二音频数据;
误差计算子单元,用于计算所述第二音频数据与所述外部音频数据的误差;
判断子单元,用于判断所述误差是否小于或等于预设的阈值;
模拟音频数据确定子单元,用于在所述误差小于或等于所述阈值时,将所述第二音频数据作为模拟音频数据;
返回子单元,用于若所述误差大于所述阈值,则返回更新自适应滤波器的模拟参数。
上述直播装置可执行本发明任意实施例所提供的直播方法,具备执行方法相应的功能模块和有益效果。
实施例四
本发明实施例四提供了一种移动终端,图4为本发明实施例四提供的一种移动终端的结构示意图,如图4所示,该移动终端包括:
处理器401、存储器402、通信模块403、输入装置404和输出装置405;移动终端中处理器401的数量可以是一个或多个,图4中以一个处理器401为例;移动终端中的处理器401、存储器402、通信模块403、输入装置404和输出装置405可以通过总线或其他方式连接,图4中以通过总线连接为例。上述处理器401、存储器402、通信模块403、输入装置404和输出装置405可以集成在移动终端上。
存储器402作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如上述实施例中的直播方法对应的模块。处理器401通过运行存储在存储器402中的软件程序、指令以及模块,从而执行移动终端的各种功能应用以及数据处理,即实现上述的直播方法。
存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据微型计算机的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器402可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块403,用于与外界设备(例如智能终端)建立连接,并实现与外界设备的数据交互。输入装置404可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种移动终端,可执行本发明上述任意实施例提供的直播方法,具有相应的功能和有益效果。
实施例五
本发明实施例五提供了一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意实施例提供的直播方法,该方法包括:
分别采集视频数据、调用麦克风采集外部音频数据;
获取第三方的应用程序正在播放的源音频数据;
确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
需要说明的是,对于装置、设备和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台移动终端(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的直播方法。
值得注意的是,上述装置中,所包括的各个模块、子模块、单元、子单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种直播方法,其特征在于,应用于移动终端,所述方法包括:
分别采集视频数据、调用麦克风采集外部音频数据;
获取第三方的应用程序正在播放的源音频数据;
确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
2.根据权利要求1所述的直播方法,其特征在于,获取第三方的应用程序正在播放的源音频数据,包括:
响应于接收到的录屏指令,启动移动终端的录屏进程;
建立与所述录屏进程之间的数据传输通道;
通过所述数据传输通道接收所述录屏进程录制的第三方的应用程序正在播放的源音频数据。
3.根据权利要求2所述的直播方法,其特征在于,所述移动终端运行iOS系统,响应于接收到的录屏指令,启动移动终端的录屏进程,包括:
响应于接收到的录屏指令,通过replaykit extention启动iOS系统的录屏进程。
4.根据权利要求2所述的直播方法,其特征在于,通过所述数据传输通道接收所述录屏进程录制的第三方的应用程序正在播放的源音频数据,包括:
将所述源音频数据打包为多个音频数据包;
通过所述数据传输通道每次接收一个所述音频数据包。
5.根据权利要求4所述的直播方法,其特征在于,通过所述数据传输通道接收所述录屏进程录制的第三方的应用程序正在播放的源音频数据,还包括:
通过异步通讯方式接收所述音频数据包。
6.根据权利要求1-5任一所述的直播方法,其特征在于,根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据,包括:
在所述播放硬件为扬声器时,对所述外部音频数据进行回声消除,得到第一音频数据;
对所述源音频数据和所述第一音频数据做混音处理,得到适于所述扬声器播放的目标音频数据。
7.根据权利要求1-5任一所述的直播方法,其特征在于,根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据,包括:
在所述播放硬件为耳机时,对所述外部音频数据和所述源音频数据做混音处理,得到适于所述耳机播放的目标音频数据。
8.根据权利要求6所述的直播方法,其特征在于,对所述外部音频数据进行回声消除,得到第一音频数据,包括:
将所述外部音频数据输入预先构建的自适应滤波器中进行处理,得到模拟回声信号的模拟音频数据;
将所述外部音频数据减去所述模拟音频数据,得到第一音频数据。
9.根据权利要求8所述的直播方法,其特征在于,将所述外部音频数据输入预先构建的自适应滤波器中进行处理,得到模拟回声信号的模拟音频数据,包括:
更新自适应滤波器的模拟参数;
将所述外部音频数据与所述模拟参数相乘,得到第二音频数据;
计算所述第二音频数据与所述外部音频数据的误差;
判断所述误差是否小于或等于预设的阈值;
若所述误差小于或等于所述阈值,则将所述第二音频数据作为模拟音频数据;
若所述误差大于所述阈值,则返回更新自适应滤波器的模拟参数。
10.一种直播装置,其特征在于,应用于移动终端,所述装置包括:
数据获取模块,用于分别采集视频数据、调用麦克风采集外部音频数据;
源音频数据获取模块,用于获取第三方的应用程序正在播放的源音频数据;
播放硬件确定模块,用于确定在所述主播客户端预览直播数据时用于播放预览音频数据的播放硬件;
目标音频数据生成模块,用于根据所述外部音频数据与所述源音频数据生成适于所述播放硬件播放的目标音频数据;
推流模块,用于将所述视频数据与所述目标音频数据作为直播数据,推流至指定的直播间发布。
11.一种移动终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的直播方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110548002.4A CN113286161A (zh) | 2021-05-19 | 2021-05-19 | 一种直播方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110548002.4A CN113286161A (zh) | 2021-05-19 | 2021-05-19 | 一种直播方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113286161A true CN113286161A (zh) | 2021-08-20 |
Family
ID=77280053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110548002.4A Pending CN113286161A (zh) | 2021-05-19 | 2021-05-19 | 一种直播方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113286161A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891152A (zh) * | 2021-09-28 | 2022-01-04 | 广州华多网络科技有限公司 | 音频播放控制方法及其装置、设备、介质、产品 |
CN114124911A (zh) * | 2021-11-25 | 2022-03-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 直播回声的消除方法、计算机可读存储介质及电子设备 |
CN114827301A (zh) * | 2022-06-06 | 2022-07-29 | 广州市百果园信息技术有限公司 | 一种数据传输仿真方法、装置、设备及存储介质 |
CN115396723A (zh) * | 2022-08-23 | 2022-11-25 | 北京小米移动软件有限公司 | 屏幕录制方法、装置、设备及存储介质 |
WO2024138782A1 (zh) * | 2022-12-31 | 2024-07-04 | 宜宾市天珑通讯有限公司 | 传声装置的音量处理方法、可读存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375846A (zh) * | 2016-09-19 | 2017-02-01 | 北京小米移动软件有限公司 | 直播音频的处理方法及装置 |
CN108259985A (zh) * | 2018-01-09 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 直播音频混音方法、装置、可读存储介质及设备 |
CN109767777A (zh) * | 2019-01-31 | 2019-05-17 | 迅雷计算机(深圳)有限公司 | 一种直播软件的混音方法 |
-
2021
- 2021-05-19 CN CN202110548002.4A patent/CN113286161A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375846A (zh) * | 2016-09-19 | 2017-02-01 | 北京小米移动软件有限公司 | 直播音频的处理方法及装置 |
CN108259985A (zh) * | 2018-01-09 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 直播音频混音方法、装置、可读存储介质及设备 |
CN109767777A (zh) * | 2019-01-31 | 2019-05-17 | 迅雷计算机(深圳)有限公司 | 一种直播软件的混音方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891152A (zh) * | 2021-09-28 | 2022-01-04 | 广州华多网络科技有限公司 | 音频播放控制方法及其装置、设备、介质、产品 |
CN114124911A (zh) * | 2021-11-25 | 2022-03-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 直播回声的消除方法、计算机可读存储介质及电子设备 |
CN114124911B (zh) * | 2021-11-25 | 2024-05-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 直播回声的消除方法、计算机可读存储介质及电子设备 |
CN114827301A (zh) * | 2022-06-06 | 2022-07-29 | 广州市百果园信息技术有限公司 | 一种数据传输仿真方法、装置、设备及存储介质 |
CN114827301B (zh) * | 2022-06-06 | 2023-08-29 | 广州市百果园信息技术有限公司 | 一种数据传输仿真方法、装置、设备及存储介质 |
CN115396723A (zh) * | 2022-08-23 | 2022-11-25 | 北京小米移动软件有限公司 | 屏幕录制方法、装置、设备及存储介质 |
WO2024138782A1 (zh) * | 2022-12-31 | 2024-07-04 | 宜宾市天珑通讯有限公司 | 传声装置的音量处理方法、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113286161A (zh) | 一种直播方法、装置、设备及存储介质 | |
CN110246515B (zh) | 回声的消除方法、装置、存储介质及电子装置 | |
WO2020048221A1 (zh) | 音效增强方法、装置、电子设备及存储介质 | |
CN109348274B (zh) | 一种直播互动方法、装置及存储介质 | |
CN106302997B (zh) | 一种输出控制方法、电子设备及系统 | |
JP7473676B2 (ja) | オーディオ処理方法、装置、可読媒体及び電子機器 | |
CN105898557A (zh) | 一种语音弹幕的生成、播放方法及其装置、客户端 | |
CN110992920B (zh) | 直播合唱方法、装置、电子设备及存储介质 | |
CN109660911A (zh) | 录音音效处理方法、装置、移动终端及存储介质 | |
CN110830832B (zh) | 移动终端的音频播放参数配置方法及相关设备 | |
KR20220068894A (ko) | 오디오 재생 방법 및 오디오 재생 장치, 전자 기기 및 저장 매체 | |
US20190221226A1 (en) | Electronic apparatus and echo cancellation method applied to electronic apparatus | |
CN111372121A (zh) | 一种回声消除方法、装置、存储介质及处理器 | |
US12041438B2 (en) | Location based audio signal message processing | |
CN113709619A (zh) | 音频处理方法、装置、用户终端及计算机可读介质 | |
US11741984B2 (en) | Method and apparatus and telephonic system for acoustic scene conversion | |
CN112201264A (zh) | 音频处理方法、装置、电子设备、服务器及存储介质 | |
CN110096250B (zh) | 一种音频数据处理方法、装置、电子设备及存储介质 | |
CN110139164A (zh) | 一种语音评论播放方法、装置,终端设备及存储介质 | |
CN115209209A (zh) | 一种演艺现场手机录制分发专业音频短视频的方法 | |
CN109862385A (zh) | 直播的方法、装置、计算机可读存储介质及终端设备 | |
CN112788489B (zh) | 控制方法、装置和电子设备 | |
CN113542792A (zh) | 音频合流方法、音频上传方法、设备及程序产品 | |
CN115705839A (zh) | 语音播放方法、装置、计算机设备和存储介质 | |
US11792594B2 (en) | Simultaneous deconvolution of loudspeaker-room impulse responses with linearly-optimal techniques |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |