590 words on Software
In these modern days we have all sorts of crappy hip services. Like You Tube, for example, which gives you all the video quality of 1995 while using all your processing power of 2005. Yikes! And as far as I can tell, all that is done only to avoid the convenience of having proper video files that can be played by proper video technologies but rather to play them in some Flash appliance. Whether that is to have more control over what’s going on or not I don’t know. I just think it’s ugly, bad to use and won’t let me save films to disk locally so I can watch them later on.
I thought the same was true for the slightly less broken looking Google Video service. But it was pointed out to me that they actually provide links to download a video as – surprise – a proper video file of a reasonable quality (the same the video was uploaded in I hope). Now that was nice! And I was even more happy when I found the 1980s Glenn Gould Goldberg Variations video on there. A nice music video to feed to iTunes, I’d say.
So I wanted to download it, but the download for the computer just gave me a strange file which apparently is for Google’s own video player application. Which, again, I considered quite inconvenient. Particularly because I don’t expect it to integrate with the rest of my computer as well as I’d want it to.
That said, the ‘GVI’ files downloaded by the Google Player just seem to be AVI files, so at least playing them isn’t a big deal – while iTunes integration still sucks (due to iTunes refusing to play AVI files).
What did puzzle me was that there are two downloads. One for the Video iPods and one for the portable Playstation. Both of them have the same size of 320×240 and are encoded using H.264 encoding for video and the same encoding for sound. Yet, the Playstation file is 50% larger. Why?
A bit of asking around revealed that the Playstation is more powerful at video playback than the iPod and thus seems to get a higher quality video. Which I tried to see, but mostly didn’t, probably due to the less than ideal quality of this recording. But then I had a fun idea to directly compare those videos: Just play them in Quartz Composer and display their difference in real time…
… and after a relatively short time of cursing (somehow pretty much everything I want to do in Quartz Composer doesn’t work the way I want it to work or is downright impossible, but for this one the obstacles were minor: I had to type in the paths to the film files and – as usual – I couldn’t remember the name of the Billboard patch which makes that overly essential bit of Quartz Composer really hard to find…) I had my composition which revealed the differences. After another bit of adding brightness to the image, I found the difference to look like this:
So the difference does exist and is non-trivial. In particular the hands seem to have more detail and me thinking that one of the downloaded files looked a bit more crisp may not have been caused by hallucinations after all. On the other hand, the Playstation mp4 file ends up being larger than the AVI file downloaded by Google’s player application, so I’m not really sure what’s going on there after all.
Interesting. I own both devices. One thing very worth noting is that both are highly picky about which videos they’ll play. They both place constraints on frame sizes, bitrates, and the like, and it’s very easy to produce perfectly reasonable MEG4 files that won’t play on either. Sigh.
d.w.: Both, Apple and Sony, provide the constraints on their product specification pages. For H.264/AVC decoding the PSP Spec says “Main Profile, Level 3”, the iPod Spec says “Baseline Profile, Level 1.3”. While the profile specifies the coding tools (algorithms) that are allowed for the bitstream, the level specifies the constraints (e.g. maximum bitrate) for the bitstream. (An overview can be found on the Wikipedia H.264/AVC page.) As the profile/level combination is meant to ensure interoperability, any sensibly implemented encoder will allow you to restrict the bitstream to such configurations and the decoder (e.g. iPod or PSP) should then be able to display the video without any hiccups. One thing to remember for H.264/AVC is: While each lower level (for a given profile) is a strict sub-set of the higher levels, this is not the case with profiles: Although Sony says the PSP is capable of decoding “Main” profile streams, the PSP is not necessarily capable of decoding “Baseline” profile streams, although supporting “Main” (generally) requires more complexity than “Baseline” but also provides better compression ratios. So if you want to make sure your video is playable on both iPod and PSP, your bitstream must be set to conform to both “Main” and “Baseline” (and the lower of the respectively supported levels: 1.3).