I see the beta for libopus 1.3. I know there's been work on a native ffmpeg opus encoder. I need to transcode a lot of voice, to be played while driving. It doesn't have to have great quality, but easily intelligible and highly compressed. Maybe as low as 12 kbps ?
Does it make any difference which encoder to use ? Has anybody compared them ?
Not only FFmpeg's encoder is still experimental, but it also only implements the CELT part of the codec as of now. So, encoding at 12kbps currently produces terrible results (you would know if you tried it).
I would always stick with the latest stable release. The current latest beta apparently still has issues.
Ok, Thanks for the quick response.
Why does ffmpeg want their own encoder to begin with? Why not just use the official one?
Why not just use the official one?
The official encoder(libopus) is the default
. Using the experimental native encoder requires passing -strict -2 -c:a opus
Why does ffmpeg want their own encoder to begin with?
FFmpeg is an open-source project that accepts contributions. And this particular encoder was actually contributed by a Mozilla employee. It's a good encoder. It just does not have the low-bitrate optimized-for-voice SILK part of Opus yet.
The existence of multiple independent implementations of a codec is a good thing. As long as no one opts to use one of them insensibly*.
* IIRC, for some reason, YouTube opted to use FFmpeg's experimental Vorbis encoder when they started supporting HTML5 video. But they promptly stopped after being contacted by Xiph people. That was the last time I came across a story bout a major insensible encoder choice.