opusdec(1) decode audio from Opus format to WAV (or simple audio output)


opusdec [ -hV ] [ --rate Hz ] [ --gain dB ] [ --no-dither ] [ --float ] [ --force-wav ] [ --packet-loss pct ] [ --save-range file ] input.opus [ output.wav ]


opusdec decodes Opus files into PCM Wave (uncompressed) files.

If the input file is specified as - , then opusdec will read from stdin. Likewise, an output filename of - will cause output to be to stdout.

If no output is specified opusdec will attempt to play the audio in realtime if it supports audio playback on your system.


-h, --help
Print help message
-V, --version
Display version information
Suppresses program output

Force decoding at sampling rate n Hz

Adjust the output volume n dB, negative values make the signal quieter.
Do not dither 16-bit output
32-bit floating-point files instead of 16-bit files
Force including a wav header on output (e.g. for non-wav extensions and stdout)
Simulate n % random Opus packet loss
Saves check values for every frame to a file


Decode a file input.opus to output.wav
opusdec input.opus output.wav

Play a file input.opus and force output at 48000 regardless of the original sampling rate
(48kHz output may be faster, due to avoiding resampling and some sound hardware produces higher quality output when run at 48kHz)

opusdec --rate 48000 input.opus

Re-encode a high bitrate Opus file to a lower rate

opusdec --force-wav input.opus - | opusenc --bitrate 64 - output.opus

Play an http stream http://icecast.somwhere.org:8000/stream.opus with the help of curl on a system with pulseaudio
(press ctrl-c to quit)

curl http://icecast.somwhere.org:8000/stream.opus | padsp opusdec -


Jean-Marc Valin <[email protected]>
Gregory Maxwell <[email protected]>


Opusdec does not currently reject all invalid files which it should reject. It also doesn't provide very helpful output for the corrupted files it does reject. Use opusinfo(1) for somewhat better diagnostics.