20 November, 2007

Nokia Internet Tablet Video Converter

That's a really easy to use, aesthetically pleasing, application where you can conveniently convert any given video to a format best fit for Internet Tablet playback.

Right now it's in Beta state and can be found here.

The application is split in two parts: XULRunner for the GUI (frontend) and a simple TCP server (backend) to do the real work (converting the videos, fetching media info, etc). The communication between then being comprised by simple ASCII strings resembling XML (but *much* more strict to keep parsing a piece of cake).

This means that you don't need ITVC's GUI to use the backend for transcoding and, more importantly, you can write your own backend for ITVC with a reasonably small amount of effort.

Therefore you can, for instance, write a "hello world" style Python TCP server issuing mencoder commands and use it as your ITVC backend, uniting a pleasant interface with the power of mencoder. Developer's docs and facilities will only be released later on though.

The GUI code is free software, javascript code released under BSD license, but for a couple of XPCOM components to handle some small bits.

It's a shame that Nokia currently offers only a Windows XP release but the architecture was carefully thought out to be multiplatform. Having ITVC on Linux is mostly a matter of making a GStreamer backend. The backend's TCP server is already multiplatform as it uses Boost and ASIO libraries.

The reasoning behind releasing it first as Windows-only seems to be that the majority of PC users use Windows and that Linux users are much more sophisticated and thus tend to use more sophisticated, "personalised" tools (mencoder anyone?). If you ask me, I think Linux users like beatiful and usable GUI as much as anyone else (why in the hell we wouldn't!?!?).

As some could have already concluded, I was working in ITVC's team for the past few months, but now I've moved on and will do just code review and architecture consultancy on it.