[Ffmpeg-devel] Re: Re: Re: [theora-dev] Theora encoding in FFmpeg
Aaron Williams
aaronw
Mon Jan 1 22:45:30 CET 2007
Hi,
Michael Niedermayer wrote:
> Hi
>
> 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 ...)
>
> [...]
>
>
> ------------------------------------------------------------------------
I too had some difficulty finding out what parameters I should have used
for higher quality output. It would be nice if there were a few
well-documented parameters, such as -hq or something along those lines
that turned on a good set of parameters to optimize quality over speed.
Similarly this would be nice for other codecs as well (i.e. MPEG2).
-Aaron
More information about the ffmpeg-devel
mailing list