# webrtc-audio-processing
[![Crates.io](https://img.shields.io/crates/v/webrtc-audio-processing.svg)](https://crates.io/crates/webrtc-audio-processing)
[![Docs.rs](https://docs.rs/webrtc-audio-processing/badge.svg)](https://docs.rs/webrtc-audio-processing)
[![Build Status](https://travis-ci.org/tonarino/webrtc-audio-processing.svg?branch=master)](https://travis-ci.org/tonarino/webrtc-audio-processing)
[![dependency status](https://deps.rs/repo/github/tonarino/webrtc-audio-processing/status.svg)](https://deps.rs/repo/github/tonarino/webrtc-audio-processing)
A wrapper around [PulseAudio's repackaging of WebRTC's AudioProcessing module](https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/).
`webrtc-audio-processing` can remove echo from an audio input stream in the situation where a speaker is feeding back into a microphone, as well as noise-removal, auto-gain-control, voice-activity-detection, and more!
## Example Usage
See `examples/simple.rs` for an example of how to use this crate.
## Building
### Feature Flags
* `bundled` - Build `webrtc-audio-procesing` from the included C++ code
* `derive_serde` - Derive `serialize` and `deserialize` traits for Serde use
### Dynamic linking
By default the build will attempt to dynamically link with the library installed via your OS's package manager.
You can specify an include path yourself by setting the environment variable `WEBRTC_AUDIO_PROCESSING_INCLUDE`.
### Packages
```sh
sudo apt install webrtc-audio-processing-dev # Ubuntu/Debian
sudo pacman -S webrtc-audio-processing # Arch
```
### Build from source
The webrtc source code is included as a git submodule. Be sure to clone this repo with the `--recursive` flag, or pull the submodule with `git submodule update --init`.
Building from source and static linking can be enabled with the `bundled` feature flag. You need the following tools to build from source:
* `clang` or `gcc`
* `autotools` (MacOS: `brew install automake`, `brew install autoconf`)
* `libtoolize` (typically `glibtoolize` on MacOS: `brew install libtool`)
* `pkg-config` (MacOS: `brew install pkg-config`)
## Publishing
```bash
cargo login
cd ./webrtc-audio-processing-sys
cargo publish --features derive_serde --features bundled
cd ../
cargo publish --features derive_serde --features bundled
```
## Contributing
### Version increment
We are using semantic versioning. When incrementing a version, please do so in a separate commit, and also mark it with a Github tag.
没有合适的资源?快使用搜索试试~ 我知道了~
webrtc-audio-processing库的Rust绑定__Rust_下载.zip
共22个文件
rs:7个
toml:3个
json5:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 142 浏览量
2023-04-26
11:08:23
上传
评论
收藏 32KB ZIP 举报
温馨提示
webrtc-audio-processing库的Rust绑定__Rust_下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
webrtc-audio-processing库的Rust绑定__Rust_下载.zip (22个子文件)
webrtc-audio-processing-master
Cargo.toml 1KB
webrtc-audio-processing-sys
Cargo.toml 901B
src
wrapper.cpp 8KB
wrapper.hpp 10KB
lib.rs 7KB
build.rs 7KB
webrtc-audio-processing
README.md 1KB
COPYING 1KB
.travis.yml 331B
src
lib.rs 14KB
config.rs 14KB
rustfmt.toml 188B
examples
simple.rs 2KB
karaoke.rs 3KB
recording.rs 9KB
recording-configs
record-far-sample.json5 342B
record-pipeline.json5 444B
record-sample.json5 378B
.gitmodules 200B
.gitignore 32B
README.md 2KB
COPYING 1KB
共 22 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功