Opus-tools
Jump to navigation
Jump to search
Opus-tools is a collection of tools for working with opus files currently under development.
Features
- working build system
Encoder
- Robust wav input (steal battle tested code from oggenc, e.g. float and multichannel works)
- Resampling
- bitrate selection
- VBR/CBR/CVBR
- Application selection (audio/voip)
- Mode forcing
- Metadata (emulate oggenc feature set)
- Multichannel
- Muxing delay control (naive usage of libogg will result in 5 second mux delay on silence)
- Not needed in initial release:
- Replay gain (but it's important as we want players to actually heed it)
- LPC padding (code for this is very simple, see postfish) but needs some way of setting the prefill inside opus.
- In CELT_ONLY Switch the last frame size to the smallest size that will fit the remaining samples (reduces padding overhead, makes sure mixed sizes get tested)
- crop and/or track split arguments (if data outside of the encoded area is available, use that instead of the LPC padding)
- Exposes all sanely exposable parts of the Opus API (important for testing, even if things are hidden)
- Flac input (?; code for this is in oggenc)
Decoder
- Resampling
- Multichannel
- metadata display
- Wav output
- audio playback (libao?) or omit and leave for ogg123
- decodes chained files
- Not needed for the initial release:
- Lookahead limiter (copy from postfish)
- Dither for 16 bit output