#audio #opus #codec

audiopus

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

70KB
1K SLoC

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

About

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.

Building

Requirements

UNIX/GNU/MSYS2

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.

MSVC

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.

Installation

Add this to your Cargo.toml:

[dependencies]
audiopus = "0.2"

Dependencies

~3.5–5MB
~77K SLoC