webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
应用实时监控服务-应用监控,每月50GB免费额度
简介: 2017-05-22更新! http://pan.baidu.com/s/1nvbTcRf   jni修改后的代码,可以直接ndk-build出so文件!!!!!!!!   -------------------------------------------------------   webrtc代码在android和chromium项目中都有。
2017-05-22更新!
http://pan.baidu.com/s/1nvbTcRf
 
jni修改后的代码,可以直接ndk-build出so文件!!!!!!!!
 
-------------------------------------------------------
 
webrtc代码在android和chromium项目中都有。但是android中的那个带有Android.mk,稍微修改下就能用ndk-build编译出libwebrtc_audio_preprocessing.so
 
 
 更新
cd webrtc
 
 
apm几个模块:
NS(Noise Suppression 噪声抑制)、
VAD(Voice Activity Detection 静音检测)、
AECM(Acoustic Echo Canceller for Mobile 声学回声消除)
AGC(Auto Gain Control 自动增益控制)
 
刚开始目录:
删除了modules下的audio_coding目录,并把src改名为webrtc了,当然同时得修改Android.mk中对audio_coding相关mk的引用,还要修改路径,原来是src,要改成webrtc.
 
最后会生成libwebrtc_audio_coding.so,这个需要在Android.mk中修改。其中有个
LOCAL_MODULE := libwebrtc_audio_coding
把相关的删除,从
include $(CLEAR_VARS)
。。。。
include $(BUILD_SHARED_LIBRARY)
 
这个也可以通过上面一样的办法删除
LOCAL_MODULE := libwebrtc_audio_coding_gnustl_static
 
 
其它文件删除:MODULE_LICENSE_BSD, NOTICE,TODO
test目录删除,.git目录删除
 
 
 
最终效果:
发现在modules\audio_processing\test目录下有unit_test.cc
 
ndk-build编译,几乎很少改动。即可生成libwebrtc_audio_preprocessing.so
 
===================================
 
上面错误解决:需要将源代码放在一个叫jni的目录中。
 
 
 
解决:
 
 
 
 
#include <map>报错
 
由于 NDK 默认使用最小 C++ 运行时库进行项目的编译,导致无法编译 WebRTC 中使用诸如std::map 等 STL 容器的源码。因此我们需要自行设定适合本项目的 C++ 运行时库 gnustl_static。
解决:
Application.mk
APP_ABI := armeabi-v7a
APP_STL := gnustl_static
APP_PLATFORM :=21
 
 

版本问题,

好像webrtc对Android的版本要求过高,至少要求2.3.1,所以从原来的2.2换成2.3.1即可

 解决办法:

#APP_PLATFORM := android-8     //对应2.2

APP_PLATFORM := android-9     //对应2.3.1
#APP_STL := stlport_static 
APP_STL := gnustl_static

 
2.
 
undefined reference to 'WebRtcSpl_SqrtFloor'
 

这个函数在spl_sqrt_floor.c,在

webrtc\common_audio\signal_processing\Android.mk中的LOCAL_SRC_FILES加上
spl_sqrt_floor.c \
 
 
生成的so
附:
 
 
 
相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
目录
相关文章
|
监控
阿里云应用性能管理(APM)产品-应用实时监控服务(ARMS)技术解密 资料下载
直播大纲 1. 应用性能管理(APM)背景介绍 2. 分布式链路追踪的现状与使用场景 3. ARMS分布式链路追踪的技术实现 4. 最佳实践 (1) 全息排查+场景链路(2) 前端监控与应用监控融合(3) ARMS与K8S的融合与实践 专家介绍 阳其凯(逸陵),阿里巴巴高级开发工程师,2016年加入阿里巴巴Eageleeye团队,多年实时计算平台与APM产品开发经验,目前主要负责云产品业务实时监控服务(ARMS)与链路追踪(Tracing Analysis)的研发工作。
13158 0
|
Ubuntu 开发工具 git
百度搜索:蓝易云【Ubuntu搭建APM固件编译环境教程!】
请注意,以上步骤提供了一个基本的搭建APM固件编译环境的概述。实际的配置和设置可能因APM固件版本和硬件类型而有所不同。建议参考APM固件官方文档和其他可靠资源,以获取更详细和特定于你的环境的指导。在进行任何配置更改之前,请确保备份你的数据并了解相关的安全性和权限设置。
87 0
|
运维 大数据 数据库
《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》电子版下载地址
本书将从介绍Elasticsearch、全观测技术原理、行业应用到技术实践,全面系统地解读在大数据背景下,运维人员、开发人员等应用全观测技术的价值和实践上手指南。
330 0
《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》电子版下载地址
|
运维 大数据 数据库
《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》下载
本书将从介绍Elasticsearch、全观测技术原理、行业应用到技术实践,全面系统地解读在大数据背景下,运维人员、开发人员等应用全观测技术的价值和实践上手指南。
476 0
《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》下载
|
知识图谱 开发者 运维
独家下载!《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
本书从介绍Elasticsearch、全观测技术原理、行业应用到技术实践,全面系统地解读在大数据背景下,运维人员、开发人员等应用全观测技术的价值和实践上手指南。还有借助阿里云环境进行的 ES 实战演练,详细的图文说明,手把手引导大家系统地使用 ES。
82850 0
独家下载!《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
|
1月前
|
移动开发 监控 Android开发
Android & iOS 使用 ARMS 用户体验监控(RUM)的最佳实践
本文主要介绍了 ARMS 用户体验监控的基本功能特性,并介绍了在几种常见场景下的最佳实践。
221 11
|
3月前
|
运维 监控 数据可视化
ARMS的微服务监控
【8月更文挑战第23天】
74 6
|
6月前
|
监控 Java 索引
APM Server监控
APM Server监控
|
3月前
|
监控 前端开发 JavaScript
ARMS的Web应用监控
【8月更文挑战第23天】
65 8