webrtc开源项目音频重采样“不友好接口”的几点总结
来源:互联网 发布:送女生生日礼物 知乎 编辑:程序博客网 时间:2024/05/17 03:09
WebRTC(Web Real Time Communication)并不是Google原来自己的技术,在2010年,Google以大约6820万美元收购了VoIP软件
开发商Global IP Solutions公司,开源了WebRTC实时通信项目。
语音引擎是GIPS的语音通信的杀手锏,其主要是通过一系列的传输控制来达到在低带宽下传输实时的语音,GIPS语音引擎有着
广泛的客户群,比如skype、QQ等语音都是采用GIPS的语言引擎。通过其语音引擎,不仅能传输质量更高的语音,还能在丢包非常
严重的网络下传输实时的语音。
音频部分涉及:音频编解码、声音加密、声音处理、回声消除(AEC)、AECM、自动增益(AGC)、降噪处理。今天试用了 一下声
音处理部分的CResampler类,用得不是很爽。
1.仅限于单声道和双声道的处理,对于多声道音频,需要自己前期做些预处理。
kResamplerSynchronous = 0x10, kResamplerSynchronousStereo = 0x20
2.同样地:仅限于16bits的数据处理,需要自己添加8bits、32bits、浮点数处理。
int Push(const WebRtc_Word16* samplesIn, int lengthIn, WebRtc_Word16* samplesOut, int maxLen, int &outLen);
3.另外,为了实现快速重采样算法,每次处理samplesIn的长度有所限制。不同重采样因子下,对长度要求不一样。
例如: if ((lengthIn % 80) != 0) return -1; // We can only handle blocks of 80 samples, Can be fixed, but I don't think it's needed
其次,每次处理的最大长度不能超过SHRTMAX。
4. 对于44.1kHz和22.1kHz,都做了简化处理,当做44kHz和22kHz,减小处理每次处理数据量,加快运算速度,但是同时也
丢失了部分数据,降低了数据精度。
5.最后对分数级的重采样都分为几个步骤处理,减小每次处理的数据量,加快运算速率,简化代码量,对音频音质不会产生影响。
总体上来说,这套重采样代码实现了重采样的基本功能,主要优势体现在速度上,同时依赖的库和文件比较少。
6.不支持48kHz转换成44.1kHz
- webrtc开源项目音频重采样“不友好接口”的几点总结
- 音频重采样问题总结
- 简单的音频重采样
- 音频重采样的实现
- 音频重采样函数
- 音频重采样
- ffmepg音频重采样
- 音频重采样
- 音频重采样
- webrtc开源项目总结
- ffmpeg音频重采样分析
- 音频重采样到双声道
- 音频重采样的基本(我的学习笔记)
- webrtc音频引擎总结
- 音频重采样造成音质损失的原理
- 音频重采样(libavfilter)及AVAudioFifo的使用
- FFmpeg swr_convert 音频重采样,编码的噪音问题
- vnc 项目的几点总结
- HDOJ 题目1232 畅通工程(并查集)
- 全排列的递归实现
- poj 2135 Farm Tour + 费用流vector模板
- FPA性格色彩工具测试英文版
- 此查询使用的不是 ANSI 外部联接运算符(sqlserver)
- webrtc开源项目音频重采样“不友好接口”的几点总结
- 黑马程序员 快速入门java
- java提高篇(一) java知识汇总-------io流知识汇总(io学习流程)
- 115_屏幕适配,dip与px互相转换
- 3.1.3、为AutoCAD程序实现入口点函数
- 【POJ 1848】Tree【树形DP】
- 二分图基本概念
- 图解EM算法
- java提高篇(一)拓展篇 java知识汇总---IO流的使用规律总结(含代码示例)浅显易懂