As I understand, ffmpeg
compiled with --enable-libopus
has two opus decoders: builtin and libopus
. I am decoding an opus file to wav.
How can I know which opus decoder is being used by
ffmpeg
?opusdec
has an option--rate
which can directly downsample to the needed sample rate. When I useffmpeg
for decoding an opus file and set-ar
, the decoding time grows x6 from the baseline 10sec (for a 3Mb, 2hour opus file). Foropusdec
, the decoding time is same regardless of used--rate
. So I suspect thatffmpeg
has some bug or duplicates resampling work. For workaround, is there a way to pass an option toffmpeg
to pass it down tolibopus
and to emulate the effect of--rate
?
Thank you!
UPD
Adding -acodec libopus
in the beginning of ffmpeg command clearly does something (forces libopus
decoder?) and completes decoding in 6.2sec. When I add -ar 8000
, it slows down to 7.3sec. I would assume, it's still too large of a change for a fair effect of downsampling (for opusdec
-ar 8000
actually speeds things up, not slows it), so maybe ffmpeg
has a decoder configuration / resampling bug even when libopus
decoder is used.