On Tue, Aug 4, 2009 at 7:46 PM, Brion Vibberbrion@wikimedia.org wrote: [snip]
These seem like pretty reasonable numbers to target; offhand I'm not sure the bitrates used for the low-res version but I think that's with older Flash codecs anyway so not as directly comparable.
I'd defiantly recommend using youtube numbers as a starting point... Though I think there may be an argument for going lower on the low end (because we think we care more about compatibility than even they do) and higher on the high end (because for at least some of our material decent quality will be important)
Also, might we want different standard sizes for 4:3 vs 16:9 material?
Yes, probably.
Perhaps we should wrangle up some source material and run some test compressions to get a better idea what this'll look like in practice...
http://media.xiph.org/ < There is something like 100gigs of lossless test material. Though most of it has sufficiently ambiguous licensing that we wouldn't want to toss it up on commons. Many of them are atypically difficult to compress, and almost all are too short for decent testing of buffering/rate control. But they're still useful.
Yeah, that's way tougher to deal with... Potentially we could allow some per-file tweaks of bitrates or something, but that might be a world of pain. :)
Tweaks of resolution are more important than bitrate, in that some content just needs higher resolutions... (and if we offer a bitrate tweak we'll probably see everyone with a good net connection turning it up and everyone with a poor net connection turning it down).
15fps looks like crap IMO, but yeah for low-bitrate it can help a lot. We may wish to consider that source material may have varying frame rates, most likely to be:
Low rate video sucks no matter how you cut it. We just get to pick how it sucks.
Sadly the best choice depends on the content.
50fps - PAL interlaced or PAL-compat HD native 60fps / 59.93fps - NTSC interlaced or HD native And of course those 50 and 60fps items might be encoded with or without interlacing. :) Do we want to normalize everything to a standard rate, or maybe just cut 50/60 to 25/30?
So, interlacing is a non-issue on the output side: No interlacing support in Theora. (Compression of interlaced video is an extra special patent minefield; We'd want to deinterlace anyways, to unburden the client). The transcoding tools will deinterlace.
I'd recommend cutting 50/60 to 25/30, deinterlacing as required. Usually 60fps content isn't really displayed as that on PCs anyways because of the synchronization between frame update and video readout.
(Deinterlacing also brings up the question of: Do we want to use computationally expensive motion-compensated deinterlacing. I could argue "Interlaced content will be rare so the increase would be harmless and it looks a little better" or "it's not worth the enormous CPU usage increase for a small quality boost on content which will be rare")
Non-integer ratio rate conversions don't look good. Whatever we do I think we should only do small integer ratios, i.e. 1:1, 2:1, 3:1, in order to get the rate at or under 30fps. We certainly want to allow low frame rates: They'd make a vastly superior replacement to the enormous animated GIFs in articles, much smaller, easier to produce, and higher quality.
There is some 50/60p content in the media collection I linked to, so you see how that looks.