Skip to main content

Flash video to Disney MixMax

I'm a sucker for electronic kid gadgets, as long as they're on clearance. In our house we've got several Juice Boxes, a VideoNow PVD, and even a Disney MixMax video player. The MixMax hits the sweet spot in that it uses cheap SD memory and uses WMV as it's video format.

My kids love to watch WordGirl. Unfortunately, there's no DVD of these shorts. The friendly folks over at PBS Kids have (intentionally or otherwise) put all the Flash video clips online in a directory of their web server (

It took me a couple of days, but I can now share how I converted the files so they work on the MixMax.

My initial experiments centered on using ffmpeg on Linux to convert to a common format. It worked out okay on some of the videos, but not all of them. ffmpeg can encode in WMV/WMA, so then I tried that. Again, it worked for some videos but not all of them. As my Linux box also happens to be my Windows box, rebooting soon became tiresome and I moved to a Win32 port of ffmpeg.

Here's the ffmpeg command line I used to create a "raw" video file.

ffmpeg -i x.flv -b 512k -vcodec huffyuv -acodec pcm_u8 -r 24 x.avi

(Three notes: One, 'huffyuv' requires ffdshow to be installed. Two, this codec was chosen through trial and error, not some intrinsic "goodness" for the task at hand. Three, these files still need to be converted to the correct WMV format.)

Converting video files to the appropriate size, bitrate, etc. for the MixMax is a pain if you use the standard encoder (i.e. what the MixMax instructions recommend.) As I'm more than comfortable on the commandline I use the WSH script that comes with the encoder.

Here's the command line that does the WMV conversion:

cscript "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs" -input x.avi -output x.wmv -loadprofile "C:\Program Files\Windows Media Components\Encoder\Profiles\mixmax.prx"

(mixmax.prx is not a standard profile -- Google is your friend here)


Popular posts from this blog

I guess Python isn't so bad after all...

Not wanting to hassle with learning OpenCV and fighting with an edit-compile-execute environment, I decided to use my OpenCV project as an excuse to play around with Python.

I'm still a serious beginner, but I'm beginning to understand why it gets the use it does.

Anyhow, it only took a couple of days to integrate Tesseract OCR, PIL, and OpenCV such that I could open multi-frame TIFF images, perform some basic feature detection, and then use the output of feature detection to focus on a specific region for OCR.

I will admit to having a few false starts.  The first was that I used an older (C++) tutorial that was using some deprecated features of OpenCV and ignoring some other features.  For example, the tutorial was using Hough Line detection to find squares on a printed page.  In order to get to that point there was thresholding, dilating, eroding, inversion, flood filling and so on.  Even then I wasn't getting the correct results.

When I started over, I was using the old…

Getting closer

Discovered that the "toucan" config is distinct from the "austin" config and so can dump a bunch of

Unfortunately it looks like I have to merge the Dell board config (board-qsd8x50_austin.c) with the latest generic board config from CodeAurora (board-qsd8x50.c).

Here's where I'm at so far:

corey@patches:~/msm$ git status # On branch gingerbread_rel # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: arch/arm/mach-msm/Kconfig # modified: arch/arm/mach-msm/Makefile # modified: arch/arm/mach-msm/include/mach/board.h # modified: arch/arm/mach-msm/include/mach/camera.h # modified: drivers/input/keyboard/Kconfig # modified: drivers/input/keyboard/Makefile # modified: drivers/input/misc/Makefile # modified: drivers/input/touchscreen/Kconfig # modified: drivers/input/touchscreen/Makefile # modified: dr…

Initial Speech Recognition App

I'm pretty impressed with Microsoft's System.Speech API.  It took less than 3 days to throw together a proof-of-concept application.  The hardest part was probably coming up with the grammar -- documentation for that is pretty thin on the ground.

Anyways, here's the application source code on GitHub if anyone wants a look:
ObserverLengthSampler project

If nothing else, I'd recommend it as a starting point for someone needing a number recognition SRGS grammar in an XML format.