Tag Archives: video

FLV metadata performance

One of worst-kept secrets of “Wii Transfer”:http://www.riverfold.com/software/wiitransfer/ is that the movie playback is not as good as what you might see on an Apple TV, Xbox 360, or PS3. I do my best to improve the quality with every release, but let’s face it: while the Wii is perfectly capable of playing fullscreen video, it stumbles when put to that task inside the Opera web browser through Flash.

In the upcoming version 2.6, I’ve added the ability to skip directly to any part of a playing movie by clicking on the timeline with the Wii remote. It was frustrating not to be able to do that in previous versions and made it difficult to watch or fast-forward through long movies.

The way many Flash movie players handle skipping is by inserting metadata into the FLV file that contains a map between seconds in the timeline and file positions for the keyframes, and that’s the way Wii Transfer works as well. Unfortunately this requires rewriting the entire FLV file when post-processing movies. (“Ian Baird”:http://blog.skorpiostech.com/ suggested a future optimization would be to store the metadata separately and redo the player to send seconds instead of file offsets to the server.) I was initially using the open source flvtool2.rb to achieve this, but it was extremely slow, so I rewrote it in Objective-C. (Not a port. The Objective-C version was written from scratch and is significantly shorter than the Ruby version in terms of lines of code. It does a little bit less, but it’s optimized for exactly what Wii Transfer needs.)

This chart shows the performance improvements when processing a couple large movie files. Measured in seconds, so shorter bars are better.

FLV chart

The other good thing that came out of all this work is that I can now look at a FLV file in a hex editor and not be totally confused. “Hex Fiend”:http://ridiculousfish.com/hexfiend/ was one of the best ways to debug what my code was doing when it failed.

Flip Ultra

I first heard of the “Flip”:http://www.theflip.com/products_flip_ultra.shtml a few months ago, but it wasn’t until “this 37signals post”:http://www.37signals.com/svn/posts/923-the-flip-takes-13-of-the-camcorder-market-by-doing-less that I started paying attention. I was attracted to the simplicity of the video camera: few buttons, decent quality, and kid-proof design. Here is my mini-review.

Speed. This is where the Flip shines. It is compact enough to take anywhere, and simple enough that you can take it out of your pocket and start shooting video in seconds. I’ve already shot way more video than I would with my traditional DV camcorder.

Battery. It runs on two AA batteries. I was able to record a ton of video before replacing them, accumulating 3 GB of files over several weeks. This is unheard of compared to any other still camera or video camera I’ve owned.

Transfer. The Flip saves as the Xvid flavor of MPEG-4, which is not supported natively by QuickTime. Luckily a quick “Perian install”:http://www.perian.org/ later and you can view and edit them in QuickTime Player or any app that supports QuickTime. Just mount the camera and copy them over, or convert to H.264 with something like VisualHub. The “Wii Transfer 2.6”:http://www.riverfold.com/software/wiitransfer/beta/ beta also supports Xvid to convert and share to your Wii.

Quality. I wanted to do a side-by-side comparison with Motion JPEG used on most digital still cameras, but this isn’t a video hardware review site so an in-depth analysis is beyond the scope of what I need or have expertise in. To my eyes it looks pretty good though. Make sure to get the Ultra, not the regular Flip Video which has a lower bitrate.

Complaints. You need to give the power slider and record buttons some real pressure, and on a few occasions I’ve clicked record only to realize 1 minute later that it didn’t start. I understand that the designers didn’t want us turning it on or recording unintentionally, but this negates some of the speed advantage mentioned above.

In a nutshell: The Flip isn’t for everyone, but at just $140 it’s hard to argue with its strengths. I take it everywhere now. One pocket for iPhone, one pocket for Flip.

Video Games podcast

My second podcast episode is about video game music. You can download it here, or subscribe to the new podcast feed in iTunes.

» Download (MP3, 13.4MB)

» “Audio-only RSS feed”:http://www.manton.org/audio.xml (drag to iTunes)

I started working on this last year but it quickly became too ambitious and stalled. I picked it up again just a couple of days ago, simplified it considerably, and got it done. As usual, I learned a bunch, and look forward to improving a few things for the next one. Enjoy!

And some related links for the topic covered:

Buy at Amazon: “Lumines”:http://www.amazon.com/exec/obidos/redirect?link_code=as2&path=ASIN/B0007VDF22&tag=mantonorg&camp=1789&creative=9325, “Electroplankton”:http://www.amazon.com/exec/obidos/redirect?link_code=as2&path=ASIN/B000CI8EXA&tag=mantonorg&camp=1789&creative=9325, “Katamari Damacy”:http://www.amazon.com/exec/obidos/redirect?link_code=as2&path=ASIN/B0002Y2XXQ&tag=mantonorg&camp=1789&creative=9325

All games at Gamespot: “Zelda”:http://www.gamespot.com/nes/adventure/legendofzelda/, “Tetris”:http://www.gamespot.com/gameboy/puzzle/tetris/, “Super Mario World”:http://www.gamespot.com/snes/action/supermarioworld/, “Super Metroid”:http://www.gamespot.com/snes/action/supermetroid/, “Ys Book I & II”:http://www.gamespot.com/turbocd/rpg/ysbookiii/, “Myst”:http://www.gamespot.com/pc/adventure/myst/, “Electroplankton”:http://www.gamespot.com/ds/puzzle/electroplankton/, “Ocarina of Time”:http://www.gamespot.com/n64/adventure/legendofzeldaoot/, “Lumines”:http://www.gamespot.com/psp/puzzle/lumines/, “Myth”:http://www.gamespot.com/pc/strategy/myththefallenlords/, “Katamari Damacy”:http://www.gamespot.com/ps2/action/katamaridamashii/

Remix credits: “Super Mario World by Jason Cox”:http://www.archive.org/audio/audio-details-db.php?collection=opensource_audio&collectionid=xoc_SMW, “Super Metroid by The Wingless”:http://www.ocremix.org/remix/OCR01048/

Game history: “TurboGrafx-16”:http://www.classicgaming.com/museum/tg16/, “Ys I and II (Classic Gaming)”:http://www.classicgaming.com/ninjagaiden/ys/music/ys12pce.html, “Ys I and II (PC Engine Bible)”:http://pcenginebible.roarvgm.com/HTML_Games/Ys_I_II.htm

Music archives: “VGMusic.com”:http://www.vgmusic.com/, “Zophar’s Game Music Archives”:http://www.zophar.net/music.html

More links: “Composing with Electroplankton”:http://www.milezero.org/index.cgi/gaming/society/art/composing_with_electroplankton_toc.html, “Video game music emulators”:http://www.bannister.org/software/vgmusic.htm, “Bungie’s Myth”:http://www.altpop.com/stc/reviews/myth.htm, “Myth II demo”:http://projectmagma.net/what/, “Ocarina instrument”:http://www.songbirdocarina.com/