[theora] buggy encoder ??
Michael A. Peters
mpeters at mac.com
Sun Sep 20 21:08:41 PDT 2009
Gregory Maxwell wrote:
> On Sun, Sep 20, 2009 at 11:19 PM, Michael A. Peters <mpeters at mac.com> wrote:
>> The problem I had with ffmpeg2theora, maybe one I can solve by playing with
>> options, I use ffmpeg 2 pass encoding to create a h.264 .mp4 file.
>>
>> With one quality setting, ffmpeg2theora produces a visually inferior file
>> with a smaller file size. Bump up the quality setting by a factor of 1, and
>> the file is visually better but much larger.
>>
>> With ffmpeg, I was able to get a visually satisfactory file very close to
>> size of the h.264 encoded version so that people who want the ogg/theora
>> version do not have to either suffer noticeably lower quality or noticeably
>> larger file size.
>
> What you're describing basically shouldn't be possible: FFmpeg
> doesn't have its own theora encoder, it uses libtheora just like
> ffmpeg2theora. Assuming that both ffmpeg and ffmpeg2theora are linked
> against the same version of libtheora and they are invoked with the
> same arguments they should be producing pretty much the same quality
> output.
I assume they are linked against same library unless ffmpeg2theora is
static.
mpeters at mpeters-ubuntu:~/Desktop$ ldd /usr/bin/ffmpeg2theora |grep libtheora
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00007f883280c000)
mpeters at mpeters-ubuntu:~/Desktop$ ldd /usr/bin/ffmpeg |grep libtheora
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00007fed4f3cc000)
Looks the same to me.
This is how I'm doing it with ffmpeg:
ffmpeg -i ${base}.dv -deinterlace -acodec libvorbis -ab ${abitrate} \
-vcodec libtheora -s ${width}x${height} -b ${vbitrate} -bt ${vbitrate} \
-threads 0 -y ${base}.ogv
The shell variables are same as what I'm using for the two pass h.264
encoding.
It looks like with ffmpeg2theora the -V and -A options rather than
quality are what I'm looking for to get the filesize I want opposed to
quality setting, and it looks like future version will do that two pass.
I'll try that and see if it produces what I want w/o the buggy encoder
message.
More information about the theora
mailing list