应用音频隔离采集的方法、装置、存储介质及设备制造方法及图纸

技术编号:23704184 阅读:30 留言:0更新日期:2020-04-08 11:02
本发明专利技术提供一种应用音频隔离采集的方法、装置、存储介质及设备;其中,方法包括:在声卡驱动层采集目标应用进程的待输出声音数据;将待输出声音数据存储至与目标应用进程对应的目标声音缓存区;通过应用流化控制层实时读取声音缓存区,从目标声音缓存区中获取所述待输出声音数据,对所述待输出声音数据进行编码。本方案具有成本低、不影响系统性能、无需对应用本身进行改变等积极效果。

Method, device, storage medium and equipment of audio isolated acquisition

【技术实现步骤摘要】
应用音频隔离采集的方法、装置、存储介质及设备
本专利技术涉及云计算
,具体而言,涉及一种应用音频隔离采集的方法、装置、存储介质及设备。
技术介绍
应用流化是指将应用运行在云端,并将应用运行过程中的显示输出、声音输出实时采集编码后经过网络实时传输给终端,终端实时解码后进行输出,并且终端侧对应用的控制操作可经过网络实时传送给云端实现对应用的控制。现有技术中,在Linux系统上实现应用流化的方式主要有两种,一种是采用虚拟机实现,在该方式下,每一个虚拟机同时只为一个客户端提供服务,应用的声音就是虚拟机的系统当前播放的声音,通过直接采集系统当前播放的声音就可以实现声音的隔离采集;但由于该方式中虚拟机的数量与应用的并发数量相同,所以存在着成本高的缺陷。另一种方式是在一个Linux系统上能同时流化多路应用,该方式成本较低,但在Linux系统上实现应用流化时,是通过访问虚拟声卡设备实现系统声音的采集,该方式中如果要实现多路应用进程的声音采集,则需要部署大量的虚拟声卡设备,此时会影响系统的稳定性,并且需要修改应用以保证应用将声音正确的输出到对应的虚拟声卡上。
技术实现思路
有鉴于此,本专利技术提供一种应用音频隔离采集的方法、装置、存储介质及设备,以在保证系统性能的前提下实现声音的隔离采集,并节省成本。具体地,本专利技术是通过如下技术方案实现的:第一方面,本专利技术实施例中提供了一种应用音频隔离采集的方法,包括:在声卡驱动层采集目标应用进程的待输出声音数据;将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区;通过应用流化控制层实时读取声音缓存区,从所述目标声音缓存区中获取所述待输出声音数据,对所述待输出声音数据进行编码。第二方面,本专利技术实施例提供了一种音频隔离采集的装置,包括:采集模块,用于在声卡驱动层采集目标应用进程的待输出声音数据;存储模块,用于将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区;获取模块,用于通过应用流化控制层实时读取声音缓存区,从所述目标声音缓存区中获取所述待输出声音数据,对所述待输出声音数据进行编码。第三方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述方法的步骤。第四方面,本本专利技术实施例还提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如第一方面所述的方法步骤。本专利技术实施例中提供的一种应用音频隔离采集的方法,通过在声卡驱动层采集应用进程的待输出声音数据,并将该待输出声音数据存储至与该应用进程对应的声音缓存区,并且通过应用流化控制层实时读取各声音缓存区,使得编码器及时获得该应用进程的待输出声音数据后进行编码;进而实现了各应用进程间的音频的隔离采集、编码,相对于现有技术无需设置大量虚拟机或者设置大量的虚拟声卡设备就可以实现多路应用进程的音频隔离采集,具有成本低、不影响系统性能、无需对应用本身进行改变等积极效果。附图说明图1是一种应用流化的应用场景示意图;图2是本专利技术一示例性实施例示出的一种应用音频隔离采集的方法的流程示意图;图3是本专利技术一示例性实施例示出的采集目标应用进程的待输出声音数据的流程示意图;图4是本专利技术一示例性实施例示出的一种音频隔离采集编码的流程示意图;图5是本专利技术一示例性实施例示出的一种音频隔离采集的装置的结构示意图;图6是本专利技术一示例性实施例示出的一种计算机设备的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1是一种应用流化的应用场景示意图;参照图1所示,在该应用流化的场景中,应用运行在云端服务器上,针对不同的客户端发送的应用启动请求,云端服务器会启动不同的应用进程,各应用进程在运行过程中所产生的音频数据会被隔离采集,由应用流化控制层将采集的音频数据和视频数据进行编码、打包,最后推送至客户端进行解码后输出。针对于上述的应用场景,本专利技术实施例提供了一种应用音频隔离采集的方法,以实现同一应用的不同应用进程之间能够独立、互不影响的进行音频的采集和编码。图2是本专利技术一示例性实施例示出的一种应用音频隔离采集的方法的流程示意图;本专利技术实施例中提供的应用音频隔离采集的方法应用于云端服务器,参照图2所示,该方法包括如下步骤S10-S30:S10、在声卡驱动层采集目标应用进程的待输出声音数据。可选的,为适配各种类型终端设备(客户端设备)的解码要求,可以是设置不同的采样率;进而上述在进行采集待输出声音数据时,服务器根据请求启动该应用进程的终端设备的类型,选取匹配的采样率,按照该采样率采集待输出声音数据。示例性的,上述设定的采样率可以是包括:32000Hz、44100Hz、48000Hz等多种采样率。当有应用进程需要播放待输出声音数据时,该应用进程会调用系统的声音播放API(ApplicationProgrammingInterface,应用程序接口)。图3是本专利技术一示例性实施例示出的采集目标应用进程的待输出声音数据的流程示意图。参照图3所示,本专利技术实施例中,上述步骤S10,具体包括如下步骤S101-S102:S101、在声卡驱动层若接收到应用进程所发出的调用声音播放API的请求,则获取所述应用进程的标识。上述应用进程所发出的调用声音播放API的请求中,携带了应用进程的标识,进而从该请求中可以得到该应用进程的标识。S102、依据所述应用进程的标识,判断所述应用进程是否是目标应用进程,若是,则采集所述目标应用进程的待输出声音数据。本专利技术一实施例中,预先建立一个第一映射表,在该第一映射表中记录了分配到该服务器上的用户本文档来自技高网...

【技术保护点】
1.一种应用音频隔离采集的方法,其特征在于,包括:/n在声卡驱动层采集目标应用进程的待输出声音数据;/n将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区;/n通过应用流化控制层实时读取声音缓存区,从所述目标声音缓存区中获取所述待输出声音数据,对所述待输出声音数据进行编码。/n

【技术特征摘要】
1.一种应用音频隔离采集的方法,其特征在于,包括:
在声卡驱动层采集目标应用进程的待输出声音数据;
将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区;
通过应用流化控制层实时读取声音缓存区,从所述目标声音缓存区中获取所述待输出声音数据,对所述待输出声音数据进行编码。


2.根据权利要求1所述的方法,其特征在于,所述在声卡驱动层采集目标应用进程的待输出声音数据,包括:
在声卡驱动层若接收到应用进程所发出的调用声音播放应用程序接口API的请求,则获取所述应用进程的标识;
依据所述应用进程的标识,判断所述应用进程是否是目标应用进程,若是,则采集所述目标应用进程的待输出声音数据。


3.根据权利要求2所述的方法,其特征在于,所述判断所述应用进程是否是目标应用进程,包括:
查找所述应用进程的标识是否存在于已建立的第一映射表中,若存在,则判断所述应用进程是目标应用进程;若不存在,则判断所述应用进程不是目标应用进程;
其中,所述第一映射表中记录了用户标识与用户启动的所有应用进程的标识的映射关系。


4.根据权利要求1所述的方法,其特征在于,所述将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区,包括:
获取采集所述待输出声音数据的时间戳,将所述时间戳和所述待输出声音数据共同存储至所述目标声音缓存区。


5.根据权利要求1所述的方法,其特征在于,所述将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区,包括:
查找与所述目标应用进程对应的目标声音缓存区,若查找到,则将所述待输出声音数据存储至所述目标声音缓存区;
若未查找到,则创建与所述目标应用进程对应的声音缓存区作为目标声音缓存区,并将所述待输出声音数据存储至所述目标声音缓存区。


6.根据权利要求1-5任一所述的方法,其特征在于,在所述将所述待输出声音数据存储至与所述目标应用进程对应的目标声音缓存区...

【专利技术属性】
技术研发人员:万勋刚赵焱强
申请(专利权)人:北京视博云科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1