by Kent » Mon Feb 21, 2005 10:42 pm
The FB animations are AVI, yeah. Hugo officially supports AVI and MPEG-1, but the more correct answer is that it goes through the platform's media kit to play. So on Windows, DirectX (i.e., DirectShow) is responsible, on Mac it's QuickTime, on BeOS it's the Media Kit. What this means is that technically it would be feasible to play any format that the media subsystem can play (i.e., .mov on Mac, .wmv on Windows).
MPEG-1 is a pain to encode, isn't that great quality-wise or size-wise, but is playable by everything so it was easy to include.
The trick with AVI is choosing the codec to use, since AVI is just a container format and doesn't specify encoding. I opted for Cinepak, which is old as the hills but ships by default for all of those systems and is fairly low in terms of its CPU demands (since another of FB's goals was to target lowest-end machines). On a very slow (~350 MHz) machine I noticed some framerate chugging playing back an MP3 and a codec like Indeo or DivX at the same time.
Cinepak doesn't have nearly the quality of the latest wavelet-based codecs, but with enough experimentation I managed to come up with results that I was satisfied with.
You could opt for something more recent like an MPEG-4-ish codec, but that would introduce the possibility that it might not be installed by default on all players' machines.
The FB animations are AVI, yeah. Hugo officially supports AVI and MPEG-1, but the more correct answer is that it goes through the platform's media kit to play. So on Windows, DirectX (i.e., DirectShow) is responsible, on Mac it's QuickTime, on BeOS it's the Media Kit. What this means is that technically it would be feasible to play any format that the media subsystem can play (i.e., .mov on Mac, .wmv on Windows).
MPEG-1 is a pain to encode, isn't that great quality-wise or size-wise, but is playable by everything so it was easy to include.
The trick with AVI is choosing the codec to use, since AVI is just a container format and doesn't specify encoding. I opted for Cinepak, which is old as the hills but ships by default for all of those systems and is fairly low in terms of its CPU demands (since another of FB's goals was to target lowest-end machines). On a very slow (~350 MHz) machine I noticed some framerate chugging playing back an MP3 and a codec like Indeo or DivX at the same time.
Cinepak doesn't have nearly the quality of the latest wavelet-based codecs, but with enough experimentation I managed to come up with results that I was satisfied with.
You could opt for something more recent like an MPEG-4-ish codec, but that would introduce the possibility that it might not be installed by default on all players' machines.