PDA

View Full Version : Which "modern" codecs play on older hardware?


2Bdecided
9th April 2008, 12:44
I encode family videos for relatives who only have 500MHz and 1GHz machines. Some are still on dial up, and sometimes these videos are emailed. Some are still on Win98, though most are on XP.

I've been using an early version of WMV MPEG-4 (version 3 I think). On machines where I can't install this codec, I've just been using MPEG-1. The sizes are currently only 320x240, and the bitrate is usually 200kbps for WMV or 300-400kbps for MPEG-1.

I'd like to use larger video frames, similar bitrates, but most importantly still have the video playback on these "legacy" 500MHz and 1GHz machines.

So, which codecs should I consider? I'm asking for advice, because it's not practical to go and wreck a relatives machines by installing every possible codec to test it; I get the blame for things that go wrong even when I haven't changed anything!

Cheers,
David.

froggy1
9th April 2008, 13:26
Xvid or DivX should do fine on those machines

foxyshadis
9th April 2008, 19:20
Just install ffdshow-tryouts on each machine, which can already decode almost every codec around anyway. For systems that can't install it (can't remember if it's still compatible with 98), you can always use the original ffdshow.

Try to get hold of the slowest system and test several encodes on it; if you use mpeg-4 (xvid or divx) don't use GMC or qpel. wmv9 or even a low complexity x264 is also a decent choice for the faster systems.

DigitAl56K
9th April 2008, 21:00
I agree with the above.

I suggest trying the DivX 6.8.2 encoder. In the UI, turn off "bidirectional coding" under the "Codec" tab. This turns off b-frames, which should lower playback requirements somewhat. Leave the quantization type as "H263" because this is the least complex to decode. As foxyshadis mentioned, do not enable "Global motion compensation", or "Quarter-pixel search". Aside from this, most of the other options should be safe to change.

If you still have occasional performance hiccoughs on the 500Mhz machine then you can change the profile from "Home Theater" to "Unconstrained". In "Unconstrained" mode you need to take extra care to double-check all the settings (e.g. that "bidirectional coding" is disabled), because changing profiles can sometimes re-enable certain settings. The reason you would switch to "Unconstrained" mode is so that you can then click the Settings button in the lower left of the UI and change the -vbv argument on the command line. You see the vbv buffer size, the vbv bitrate, and the initial occupancy (which is normally 100% of the bitrate). Lowering these values limits the data rate and the ability for the rate to spike up during high motion, and this should ensure more consistent and reliable playback performance (although conversely quality will be degraded temporarily during high motion). Do not choose "1-pass, quality based" mode while "Unconstrained" profile is selected because it does not respect the VBV model in this case.

Full frame video may be hard to achieve on 500Mhz, I think you'll find 640x480 is probably the maximum you'll be able to achieve, but that's good enough for webcams etc.

2Bdecided
10th April 2008, 13:05
If I disable all these nice features (i.e. 1/4 pixel motion, B-frames etc) will I be left with something that's better (more efficient for a given quality / higher quality for a given bitrate) than what I have now?

(I know, I can try - but if someone already knows the answer it may save me a day!)

EDIT: I tried WMV9, and though it played in WMP6.4, it buffered (!from disc?!) the file for a minute before playing it, so wasn't very usable.

Cheers,
David.

Inventive Software
11th April 2008, 17:25
If you're after something easily playable, WMV8 will work very nicely, as it's baselined off their MS MPEG-4 V3 codec. DivX or Xvid with B-frames turned off, and no QPel and no GMC should be playable. With the lower-powered machine, turn off deblocking and deringing, post-processing and film effect.

cdanddvdpublisher
11th April 2008, 19:15
The WMV8 will definetly work for you. I use it and its great!