[Ffmpeg-devel] Re: Re: Re: [theora-dev] Theora encoding in FFmpeg

Michael Niedermayer michaelni at gmx.at
Mon Jan 1 13:36:15 PST 2007


On Mon, Jan 01, 2007 at 08:37:00PM +0000, Paul Richards wrote:
> On 01/01/07, Rich Felker <dalias at aerifal.cx> wrote:
> >On Sun, Dec 31, 2006 at 08:09:54PM +0000, Paul Richards wrote:
> >> On 31/12/06, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >On Sun, Dec 31, 2006 at 05:56:11PM +0000, Paul Richards wrote:
> >> >> And on a deeper level..
> >> >>
> >> >> Why is all this special packing of the output from theora_encode_***()
> >> >> into the extradata required?  I naively assumed that any packing like
> >> >> this would be the responsibility of the muxer...
> >> >
> >> >no of course not, just think about this for a moment, should the avi 
> >muxer
> >> >contain code to repackage theora, vorbis, ... headers? then what about
> >> >matroska, nut, asf, mov, mp4, ... ? should every muxer contain 
> >(duplicated)
> >> >code to pack all the codec specific xiph headers into a single packet?
> >> >
> >> >and then after you duplicated that code in every muxer, you will have to
> >> >add code to every corresponding demuxer to undo it otherwise you cannot
> >> >copy a stream between 2 containers witout reencoding ...
> >> >
> >> >simply putting the (de)packaging code into the 2 or 3 xiph codecs is 
> >much
> >> >easier ...
> >> >
> >>
> >> In that case shouldn't there be a function in libtheora to concatenate
> >> all of the "extradata" packets together in a container-insensitive
> >> way?
> >
> >yes, there certainly should be. unfortunately the xiph people, in
> >their infinite wisdom, are outwardly hostile to container-insensitive
> >things and want to make their codecs as painful as possible to use
> >with non-ogg containers.
> >
> >btw, is there a reason you want to use theora so much? it's not a good
> >codec at all..
> >
> I have two reasons.
> 1)  I want to show some support for a patent-free video codec.
> 2)  Theora was quite good in a few basic tests I ran here.  Compared
> against ffmpeg's "mpeg4" codec at 400kbit CBR, theora was clearly
> better.  

dont forget to set reasonable options for encoding!
(-flags +mv4+aic+trell -mbd rd -cmp 2 -subcmp 2 -pass 1/2)
-flags qprd is also worth a try
and ensure that you set the vbv buffer size in all codecs to the same
value, and DONT mess with -bt

also it is _very_ important to use postprocessing on the decoder side for
mpeg4 asp (theora and h.264 have their own "postprocessing" in loop filter
build in) mplayer -vf spp=X or -vf pp is something you could try

> Compared against ffmpeg's "h264" (libx264), there was no
> clear winner (part of the problem was that I couldn't get h264 to

the default options for x264 encoding with ffmpeg are VERY bad, there
should be some recommanded command line parameters for ffmpeg-x264 
somewhere i think (no i dont remember where ...)


Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20070101/bf0bf4f1/attachment.pgp

More information about the theora-dev mailing list