High quality ogv files - possible?
You can encode to Theora video and Vorbis audio with ffmpeg if it has been compiled with --enable-libtheora and --enable-libvorbis. Depending on your ffmpeg version the default settings may not provide good enough quality. Therefore you must add some additional parameters to enable a constant quality type of mode for the video.

Theora video

Adjust video quality with the -qscale:v (or the alias -q:v) option. The valid range to set video quality with libtheora is -1 to 10. A higher value is a higher quality.

Note: More modern alternatives such as VP8 can provide better quality at lower bitrates. See the FFmpeg: VP8 in WebM Encoding Guide for more info.

Vorbis audio

Adjust audio quality with the -qscale:a (or the alias -q:a) option for VBR audio. The valid range to set audio quality with libvorbis is 0 to 10. A higher value is higher quality. See the Recommended Vorbis Encoder Settings to get an idea of what values to use. The default of -q:a 3 will be used if you omit -q:a or -b:a.

Note that ffmpeg supports two Vorbis encoders: the external library libtheora (-c:a libvorbis) and the native Vorbis encoder (-c:a vorbis -strict experimental). The native encoder is experimental, does not compare well to libvorbis, and usage is not recommended.

Example

The following command will create a good quality output for both video and audio:

ffmpeg -i input -c:v libtheora -c:a libvorbis -q:v 6 -q:a 5 output.ogg


Getting ffmpeg

Make sure to always use a recent ffmpeg build and refer to the current documentation specific to your build since options can change. See the FFmpeg download page for various ways to acquire ffmpeg or follow one of the FFmpeg compile guides.

Also see


FFmpeg documentation on libtheora
FFmpeg documentation on libvorbis