You’d think that going from one Google product (Picasa) to another (YouTube) would be quick and painless. However when it comes to exporting slideshows to YouTube, I must say, Au Contraire…at least from the Mac version of the desktop photo manager, which by the way is 100% awesome. There is a fix, however…

The problem in my case had to do with embedding videos into the slideshow. You see, when Picasa exports a slideshow it takes advantage of some of the more esoteric specs of the MPEG-4 container, saving video clips, unmodified, with their accompanying audio alongside the photo slideshow, which includes your music track, captions, etc. So you get multiple video and audio streams “neatly” packaged into a single MPEG-4 container. Cool, right?

Right…as long as you have something that won’t roll over and die when it sees a multi-stream, multi-resolution container file coming down the pike.

Yes, I said multi-resolution; the camera that I used to take the videos built into the slideshow shoots at 720p. THe slideshow itself was outputted at 640×480. Add to that multiple audio stream formats (the music track was one thing, the videos were another) and you get a rather fragile system if your player doesn’t support the whole MPEG-4 container spec to a tee.

QuickTime took the whole thing in stride, though of course deciding 720p video on a 1.6 GHz Pentium M laptop is not as easy as dishing out 640×480. However every other application, transcoder (e.g. ffmpeg) or player (e.g. VLC…yes, even VLC didn’t get the clip right) either couldn’t deal with the video at all (ffmpeg) or was missing one or more of the audio or video tracks (YouTube and Vimeo…neither service transcoded the clip correctly).

Yes, YouTube butchered a video that was exported from Google’s own photo management software. They need to work on fixing that. I thought the issue was with the copyrighted music I had playing in the background (MercyMe’s All of Creation), but they’re actually perfectly fine with that, as I would expect Google to be. After I uploaded the video in a format the YouTube transcoder could parse correctly.

What was that format, and how did I get the darned thing to transcode correctly? Wait for it…MPEG-4…from QuickTime, via iMovie.

I imported my slideshow output file into iMovie (the new version, ’09 I believe), then used the Export to QuickTime option to get some fine-grained control on exactly what I was doing. The specific settings I used were as follows, though minor changes shouldn’t mess anything up…

  • Video compression type: MPEG-4
  • Frame rate: current
  • Key frames: automatic
  • Data rate: restrict to 1500 kbps (for quicker uploads over my 384k up DSL connection in TX; quality is still fine)
  • Compressor quality: best
  • VIdeo filter and size: no changes
  • Sound format: AAC
  • Channels: Mono
  • Rate: 22.050 kHz
  • Quality (under advanced settings): Best
  • Bit rate: 64 kbps
  • Encoding Strategy: Average Bit Rate
  • Prepare for Internet Streaming: unchecked

The above settings got me a video that uploaded perfectly to YouTube, though it wouldn’t work right on this site’s (brand new) FlowPlayer install. Can’t win ’em all I guess, though I’m sure for people exporting their slideshows from Picasa to YouTube their service is plenty.

When will Google fix Picasa’s multi-res MPEG-4 export issue, or tweak YouTube to import the videos without making scrambled eggs of the lot? Not sure. Maybe a few dozen retweets and a Digg posting will do the job.

Comment if you’ve run into this issue as well, and let me know if this fix worked. Also, if Picasa on Windows has this issue, let me know; I can test the process on a Windows box but haven’t done so yet. Unfortunately though, if the same issue exists, I know of no Windows application that can transcode its way out of this situation. Unless Apple still does the whole QuickTime Pro thing for Windows, post-OS X 10.6.