#audio #opus #codec


High-level binding of the Opus Codec library

5 releases

✓ Uses Rust 2018 edition

0.2.0 Oct 11, 2019
0.1.3 Oct 11, 2019
0.1.2 May 23, 2019
0.1.1 Mar 29, 2019
0.1.0 Mar 29, 2019

#28 in Encoding

Download history 188/week @ 2019-06-28 98/week @ 2019-07-05 135/week @ 2019-07-12 76/week @ 2019-07-19 159/week @ 2019-07-26 82/week @ 2019-08-02 127/week @ 2019-08-09 211/week @ 2019-08-16 268/week @ 2019-08-23 156/week @ 2019-08-30 123/week @ 2019-09-06 82/week @ 2019-09-13 226/week @ 2019-09-20 53/week @ 2019-09-27 39/week @ 2019-10-04

558 downloads per month
Used in 1 crate

ISC license


ci-badge docs-badge rust 1.33+ badge crates.io version


audiopus is a high-level binding of Opus version 1.3.

Orginally, this crate was made to empower the serenity-crate to build audio features on Windows, Linux, and Mac.

Everyone is welcome to contribute, check out the CONTRIBUTING.md for further guidance.




You will need gcc, libclang, make, automake, autoconf, and libtool. Note that automake uses autoconf as dependency already. If you have pkg-config, the underlying audiopus_sys-crate will try finding Opus with pkg-config.


Currently, audiopus links to a prebuilt Opus hence should just work. It supports x86 and x64 as dynamic or static build.

How Audiopus links

audiopus uses audiopus_sys, it links to Opus 1.3 and supports Windows, Linux, and MacOS. By default, it statically links to Windows, MacOS, and if you use the musl-environment. It will link dynamically for Linux except when using mentioned musl.

Environment variables named LIBOPUS_STATIC or OPUS_STATIC will take precedence over features thus overriding the behaviour. The value of these environment variables have no influence on the result: If one of them is set, statically linking will be picked.

Pre-installed Opus

If you have Opus pre-installed, you can set LIBOPUS_LIB_DIR or OPUS_LIB_DIR to point to the directory in which your Opus lies. Be aware that using an Opus other than version 1.3 may not work.


Add this to your Cargo.toml:

audiopus = "0.2"


~77K SLoC