I'm using python soundfile
to audio files in one of my projects. I have a dataset that contains opus
files.
python soundfile
can not read opus files directly but can read ogg files. (https://github.com/bastibe/python-soundfile/issues/252)
How can I convert all the opus files to ogg files with ffmpeg?
I have tried the following command,
ffmpeg -i test_file_2.opus -c:a libvorbis -b:a 16k test_file_2.ogg
But I get an error,
ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0)
configuration: --prefix=/opt/conda --cc=/opt/conda/conda-bld/ffmpeg_1597178665428/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
[ogg @ 0x55bad6b9cbc0] 543 bytes of comment header remain
Input #0, ogg, from 'test_file_2.opus':
Duration: 00:00:14.10, start: 0.000000, bitrate: 34 kb/s
Stream #0:0: Audio: opus, 48000 Hz, mono, fltp
Metadata:
album : Onder Moeders Vleugels
ENCODER_OPTIONS : --quiet
artist : Louisa May Alcott
title : 02 - Een vroolijk kerstfeest
encoder : opusenc from opus-tools 0.1.10;Lavf57.83.100
Unknown encoder 'libvorbis'
Your ffmpeg does not have libvorbis support. It is missing --enable-libvorbis
in the configure
line. libvorbis is an audio encoder that outputs the Vorbis audio format. Vorbis is the audio format that is typically used in the OGG/OGA container. libvorbis is the recommended encoder for Vorbis audio.
Find a new version/package of ffmpeg that has --enable-libvorbis
or re-compile ffmpeg and include this.
FFmpeg has a built-in encoder named vorbis, but it is considered to be experimental and not comparable to libvorbis. Use libvorbis instead if you care about the quality. If you want to try vorbis:
ffmpeg -i input.opus -c:a vorbis -strict experimental output.ogg
ffmpeg -i input.opus -f wav - | oggenc -o output.ogg -