This is it.. this is my Sin...
My wife fainted where she saw what I pulled out of the package that was delivered in the morning. One of my friend calls it the geekiest looking watch he's ever seen, and I know what my other friend would call me. Of course... if it was any normal watch, it wouldn't be something that triggered gadget lust, if it was any normal watch I wouldn't have bought it, cos with it's rubber watch strap and plasticky exterior it feels more like a chapalang (I think the term non-Malaysians use is.. yum-cha) brand watch. Something I might buy for WZ but not for myself.
No siree.. this isn't just any normal watch.. this is an... MP4 WATCH!! And since there's just so many of these things out there let me just insert in the specific name so that people Googling about info regarding this can find the info here.. Specifically this is an MP4 Watch II (1.8 inches LCD + Speaker) that I got from Brando Workshop, supplier of all sorts of weird stuff.
Not only does this thing keeps track of time, it also plays MP3s, videos, pictures, picks up FM radio, reads TXT files and has a voice recorder as well.
As a watch... this thing tells the time.. and ONLY tells the time. There's no alarm, stopwatch, countdown watch, nothing at all. And on the account that there are various holes in the watch, this thing is NOT water resistant at all. And see this display here? That's the only one you'd get, you can't customize it, you can't even set it to display in 12 hour format instead of 24 hour format. Any caveat is that.. the watch display isn't always on, probably since it takes power to drive such a display. And to read the time you need to press and hold on to the menu button for 5 seconds before it pops to display the time for 5 seconds, and then turns off again. This behavior cannot be changed.
Another interesting caveat is that, this is technically more of an media player than a watch. So you need to TURN ON the watch before you can access the other media functions, and then it TURNS OFF after a predetermined amount of idling.
So let's take a quick walk through the tricks the watch can do.
First of all.. it reads UNICODE encoded text files, no fancy pants HTML formatting here, just plain old text files. it just lays it out in pages and you click on the buttons on the side to scroll through the images. Speaking of buttons...
The right side of the watch contains the seek buttons, and the volume buttons.
The other side holds the 2.5mm speaker/USB/power jack, a menu button, and the play/pause button. Ok.. now back to the features of the watch. And in case you don't know.. a 2.5mm jack means you need to get a convertor before you can plug in your normal headphones (which are errr.. 3mm.. 3.5mm.. damn.. I can't remember right now)
The watch has voice recording capabilities, but the microphone pick up is so weak that unless you're talking INTO the watch, it ain't gonna pickup anything usable so all you wanna be spies are gonna have to find some other piece of hidden recorders.
The watch sports an FM tuner.. but I didn't have any luck getting anything on it, even when I plugged in the headphones which are supposed to act as an antennae I still didn't get anything. If you manage to tune into a radio station though, you can record the broadcast.
The watch is able to display JPG files on it's 160x128 screen, but they NEED to be converted by the program which is supplied with the watch. I tried resizing an image manually myself and putting it into the watch but it either said the file wasn't supported, or it the image was displayed as a distorted mess. For more info about this, read the technical notes at the end of this post. (I decided to group all the techinical information to not distract people who just want to know how well the watch works) I hate the fact that you need to convert the files using a proprietary program, if the program was GOOD at what it does I'd be fine with it, but give it a large image file and let it resize to 160x128 and the results are horrible, it's as if the program uses the nearest neighbour resizing algorithm on large images resulting in a blocky display. But.. give it something that's already resized properly to 160x128 and it'll only butcher it by liberally applying a high amount of JPEG compression to it, the image still isn't as sharp as it could be but it's better than what you see when you let the included program do the resizing. You'd think for a 2GB watch they'd go easy on the compression.
MP3 playback works as advertised, can't go wrong there.. all you do is plug the watch into the PC and copy the file onto the watch, you can even organize your files in separate folders too! The reason I'm saying this is because another media player I got recently DIDN'T support such a rudimentary function.
Video playback works.. but as expected you NEED to convert your media files into a format that the watch can display properly. I was overjoyed when I realised that the converted file could be played on my noteback so I thought I could convert movies myself and get better results (the included program doesn't know how to retain aspect ratio when converting videos) But like the JPG files.. this didn't work out as I expected. More in the technical section.
I guess it's important to note that the video converter program runs in Windows Vista, and also it can handle the exotic Real (RMVB) codec.
Here's a video of how the MP3 and video playback system works.
Normally I wouldn't buy something like this because even though the prospect of carrying 2GB of storage with me almost ALL the time the fact that it doesn't even use a standard USB connector mini-a plug would have put me off in an instant, but this watch has a special trick.
At first glance the band of the watch although oddly shaped, looks normal enough.
But look.. it's actually a connector cable hidden in it. Therefore you don't have worry about having to carry an extra cable with you in order to connect the watch to a PC. This weakened my defenses against this watch, the follow up attack was what finally pushed me into clicking the buy button.
The watch has a built in speaker. I'm not an earphone person, I hate earphones, they make my ears hurt. And my ears feel weird after having an earphone stuck in them for a length of time. That's why I was damn happy when I found my current portable speaker. The fact that the watch had a built in speaker immediately appealed to me.
If you're looking to buy an interesting movie playing watch, this isn't too bad of a choice I guess. The fact that a connector cable is hidden on the watch itself means this technically IS a USB thumbdrive that you can have with you all the time.. well almost all the time.. since you can't go swimming with it. :P
Oh, like all battery powered devices. The backplate of the watch gets hot after you've been using it for a while.
And that concludes the watch review, now for the technical content regarding the video and images. If you have no need to know about exactly what the watch is playing you can stop reading now.
The Weird Image Format
After being converted by the included program, the resulting file still has a JPG extension, and can still be viewed by normal image viewers, leading me to think that all the program did was resize a given image to the proper size. You can imagine how surprised I was that an image that should look like this
Ended up looking like this.
my only lead is that I used FFMPEG to read the JPG file that was converted by the included program and it showed to me that the converted file was using a color space of YUVJ422P whereas the file which I saved was using a color space of YUVJ420P. There was no option in Photoshop to save between the different color spaces. Attempting to use FFMPEG to convert the image although resulted in the correct color space being used, the resulting file seemed to be of another container format. A normal JPG file carries the JFIF identifier i the header of the file, an image file coming out of FFMPEG carried an identifier of Lavc51(?) Normally this isn't an issue but we're dealing with a specialized processor chip here, so any deviation from it's normal operating parameters means it won't work. A long long time ago I used libJPEG to do some work, if I have time I'm gonna look back into the library and see if it can help me here or not.
Pick up a sample image file which the watch uses here :-
The Weird Video Format
When a video file is converted by the included NXVConvert program, the resulting file is an AVI media file. When queried by FFMPEG it is reported as having an MJPEG video stream and an MP3 audio stream. Once again, the video stream was using a color space of YUVJ422P, once again I tried to use FFMPEG to encode a video myself and see if it worked, and ONCE AGAIN.. the watch complained that the video I encoded was not in a right format. Codec wise I used the same codecs, MJPEG for video, MP3 for audio. So I decided to look at the file from another angle and loaded it into VirtualDub to see if I can get any more information about it.
VirtualDub reported that the video file the watch uses had NO KEYFRAMES, it only had delta frames. Where as the file I created via FFMPEG had KEYFRAMES, but no delta frames, obviously that must be the problem.
I investigated further and found out that during encoding, something interesting happens in the folder containing the destination file, first an MP3 file is created, and then a VERY LARGE TMP file is created as well. The MP3 file contains the audio track of the file, I hex edited the TMP file and realised that it was basically a whole bunch of JPG files dumped into a single location.
So essentially the video encoder was ripping out frames and audio, and then muxing them together. That would explain why there are no keyframes (I guess) since what ever video encoder was being fed EVERY single frame, that would mean that technically no compression was done, the MJPEG file created is basically just a slideshow of JPEG files.
I have a theory on how this I might be able to get it to work.. but it all depends if I have the time to do more experiments.
Pick up a sample video file that the watch uses here :-
Damn.. this was a looooong post.