[FFmpeg-user] formula for transcoding to ogv, shrinking an mkv

James Miller gajs-f0el at dea.spamcon.org
Sun Jan 20 23:01:49 CET 2013


On Fri, 18 Jan 2013, Lou wrote:

> You have two main options for controlling video output size or quality:
> using -b:v or -qscale:v. These are mutually exclusive and have
> different uses. If you have a specific output file size that you're
> targeting then use -b:v. This is an example where I wanted to make the
> output file be about half the file size of the input. It worked, but it
> looked bad because the input's encoder did a good job at its given
> bitrate (and not all encoders are equal):
>
> ffmpeg -i in.mkv -c:v libtheora -c:a libvorbis -b:v 1911k -b:a 128k
> out.ogv

Thank you for this input, Lou. As you may have gathered from previous 
comments in this thread, since I am using Ubuntu, I actually have the 
avconv fork installed on this computer (though I intend to compile ffmpeg: 
I'm still deciding whether I want to have both on this machine, or whether 
I will simply replace avconv with ffmpeg). I gave, with some minor 
adjustments, your incantation a try under avconv: I hope it will not be 
inappropriate to ask on this list for a couple of clarifications on the 
results. Since I am not actually soliciting support in this note, perhaps 
the query will not prove disruptive.

I gave the following a try first ffmpeg -i in.mkv -c:v libtheora -c:a 
libvorbis -b:v 191k -b:a 48k out.ogv on this system, but that could not be 
processed due to the following error: Unrecognized option 'c:v'. I decided 
then to use the following: avconv -i in.mkv -c:v libtheora -c:a libvorbis 
-b:v 191k -b:a 48k out.ogv. That incantation succeeded, and actually 
resulted in the smallest ogv file I've been able thus far to produce (the 
491 MB mkv was shrunk to a 70 MB ogv).

My question, then, is whether the incantation you proposed was for avconv, 
or for ffmpeg? That would be my assumption, since it worked with avconv. 
But I know so little about the differences between ffmpeg and the fork 
that I would be unable to say with any certainty. I don't even understand 
what the system executes on ubuntu when I run the command ffmpeg: 
apparently it's something different from avconv since it gave me that 
error message. Perhaps this is an older version of ffmpeg that can't 
process some newer syntax or something like that? In any case, further 
input on the differences, as well as an explanation of why the incantation 
worked with avconv but not with ffmpeg on this system, will be 
appreciated.

Thanks,
James


More information about the ffmpeg-user mailing list