#ffmpeg #audio-decoder

nightly earwax

Audio decoding library for Rust based on ffmpeg

7 releases

Uses old Rust 2015

0.1.7 Jul 11, 2017
0.1.6 Jul 11, 2017
0.1.4 Apr 9, 2017

#292 in Video

30 downloads per month

MIT license

500 lines

crates.io docs.rs

Audio decoding library based on ffmpeg 2.8. The purpose of this library is to provide a safe and simple way of converting any audio input to raw PCM data.


From ffmpeg 2.8, the required libraries are libavcodec, libavformat, and libavdevice.


extern crate earwax;

use earwax::Earwax;

fn main() {
    let mut earwax = Earwax::new("[URL]").unwrap();
    while let Some(chunk) = earwax.spit() {
        // Do something with chunk.data, an array of raw pcm data.
        println!("Time: {}", chunk.time.seconds()); // or chunk.time.pts().

Check the documentation for a detailed reference.


  • Add error handling to the spit function.