Hi, I must say I'm very impressed with improvments in the latest versions of the encoder, especially in 2-pass mode. I was trying encodes of videos with sudden changes from no or moderate motion, to high motion scenes. Most samples of Theora quality I saw on the net were very slow motion usually. These high-motion videos were especially hard for Theora and it quickly introduced unacceptable artifacts. Now the encoder reacts better, and much better in two-pass. Just used ffmpef2theora nightly. Blockiness even at quite low bitrates almost desappears or gets to an acceptable level. Even tried a 720p50 HD video (I thought Theora would be very bad at that) and the result was quite good at around 9 Mb/s. Now a couple possible problems: 1) One-pass can still improve I think, with a better and quicker adaptation to higher motion or detail parts, even going beyond the target bitrate for a moment, maybe. I tried -soft-target but I don't see a great difference. 2) Latest versions produce different OGG streams which challenge some players and splitters. I think the change has been somewhere between the stable ffmpeg2theora (march 2009) and this summers builds: .OGV produced now are not recognized by MPC-HC's internal OGG splitter, which worked well for all files previously. If Haali splitter is installed, it can handle most files, but in some of them duration is incorrectly detected and the stop after a few seconds. Has something changed in the OGG stream or in libogg or something?
ogg.k.ogg.k at googlemail.com
2009-Sep-19 13:38 UTC
[theora] Many improvements and a few problems
> .OGV produced now are not recognized by MPC-HC's internal OGG splitter, > which worked well for all files previously. If Haali splitter is > installed, it can handle most files, but in some of them duration is > incorrectly detected and the stop after a few seconds. > > Has something changed in the OGG stream or in libogg or something?Nothing has changed in the Ogg bitstream or the Theora format. However, the new encoders make use of more freedom allowed by the format, so code that just handled the subset used by previous versions of the libtheora encoder might be confused by newer streams. This should not affect duration determination though, as the container layer (which you get time from) hasn't changed, but MPC-HC might have custom code that decodes at the same time. (I assume that by splitter, you mean demuxer ?)
> > 2) Latest versions produce different OGG streams which challenge some > players and splitters. I think the change has been somewhere between the > stable ffmpeg2theora (march 2009) and this summers builds: > > .OGV produced now are not recognized by MPC-HC's internal OGG splitter, > which worked well for all files previously. If Haali splitter is > installed, it can handle most files, but in some of them duration is > incorrectly detected and the stop after a few seconds. > > Has something changed in the OGG stream or in libogg or something?can you try if it works with out use ffmpeg2theora --no-skeleton it might be that mpc-hcs internal splitter can not deal with skeleton streams, if so, it should be fixed, please point the mpc-hc developers at http://wiki.xiph.org/Ogg_Skeleton j