Tell me more ×
Audio-Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of audio, video, and media creation. It's 100% free, no registration required.

I'm converting mov (or flv or mp4) files into ogv. Unfortunately, the programs I've been using (Miro, FFMPEG's ogv plugin) have terrible encoding that appears extremely fuzzy. Does anyone have recommendations for less compressed files in this format? Is it possible? Software recommendations? Thanks.

share|improve this question
2  
Need details, such as specs of the input video format and encoder parameters too. Samples of the input and output will also help. – Mulvya Apr 5 '12 at 17:03
Yes, it is possible - ogv allows for high quality. Provide more info as to what you are currently doing. – Dr Mayhem Apr 6 '12 at 16:57

1 Answer

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.

The valid range to set video quality with libtheora is 0 to 10 where a higher value is a higher quality. The following example, using current syntax, will set maximum constant quality video encoding:

ffmpeg -i INPUT -codec:v libtheora -flags:v qscale -global_quality:v "10*QP2LAMBDA" \
-codec:a libvorbis -q:a 5 OUTPUT.ogg

Since -q:v is a shortcut for -flags +qscale -global_quality, a shorter and easier example is:

ffmpeg -i INPUT -codec:v libtheora -q:v 10 -codec:a libvorbis -q:a 5 OUTPUT.ogg

From the documentation:

   The following global options are mapped to internal libtheora
   options which affect the quality and the bitrate of the encoded
   stream.

   b   Set the video bitrate, only works if the "qscale" flag in flags
       is not enabled.

   flags
       Used to enable constant quality mode encoding through the qscale
       flag, and to enable the "pass1" and "pass2" modes.

   g   Set the GOP size.

   global_quality
       Set the global quality in lambda units, only works if the
       "qscale" flag in flags is enabled. The value is clipped in the
       [0 - 10*"FF_QP2LAMBDA"] range, and then multiplied for 6.3 to
       get a value in the native libtheora range [0-63].

Adjust audio quality with the -q:a option. Should be similar to the q option in oggenc. A higher value is higher quality. See the Recommended Vorbis Encoder Settings to get an idea of what values to use. Range in ffmpeg is probably -1 to 10. The default of -q:a 3 will be used if you omit -q:a or -b:a.

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 it.

share|improve this answer

protected by Friend Of George Mar 26 at 12:29

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.