This is, honestly, the only way I could get this to work. If anyone has a better way, do tell.

First, I use iShowU to capture the audio and screen. This will save it as a Quicktime .mov ("h.264" ← whatever that means).

Then, I use iMovie to convert the .mov to an .avi. Why? Because ffmpegx chokes on the .mov file. Doing this in iMovie is non-trivial. You open iMovie. Drag the .mov file produced by iShowU onto its window. It will then spend anywhere from 30 minutes to 4 days "importing" the movie before crashing. After it crashes, repeat the process and pray.

Once you have the video in iMovie's clutches, you can export it as an .avi. Go to "File → Export", select "Quicktime" from the top menu, in the selection box for "Compression" choose "Expert Settings" and then hit the "Share" button. Another window will popup. Choose "Export" to "Movie to AVI" (hit the additional "Options" button if you've been trained for 4 years in A/V codec voodoo).

iMovie will do a great job in taking the ~35MB .mov file and producing a >500MB .avi file.

Once you have an .avi file, use ffmpegx to convert the movie to a .flv file. (Make sure to follow the installation instructions when installing ffmpegx.) Then, to convert it from .avi to .flv, follow the instructions at http://ffmpegx.com/flv.html.

Once you have a .flv, you will need an SWF wrapper. This one is good -- http://www.jeroenwijering.com/upload/flash_flv_player.zip.

To piece everything together, create a new folder "foo". Take the newly minted .flv file and put it in the folder. Take the flvplayer.swf file from the flash_flv_player.zip and put it in the "foo" folder. Create an "index.html" page in the "foo" folder. It's contents should look something like:

<html>
<head>
<title>Test FLV</title>
</head>
<body>

<object type="application/x-shockwave-flash" width="xxx" height="xxx" 
	wmode="transparent" data="flvplayer.swf?file=test.flv">
	<param name="movie" value="flvplayer.swf?file=test.flv" />
	<param name="wmode" value="transparent" />
<object/>

</body>
</html>

Again, if anyone knows of an easier way to do this, I am all ears.

Trackbacks

Comments

Have you tried encoding with a codec other than h.264? It looks like iShowU should use any codec that QT has. Maybe Motion JPEG?

Posted by Sam Harmon on September 8, 2006 07:22 AM
Have you tried encoding with a codec other than h.264? It looks like iShowU should use any codec that QT has. Maybe Motion JPEG?

I was afraid to use anything that sounded proprietary i.e. anything with "Apple" in its name. I was also afraid to use anything that sounded as if it referred to a picture such as "JPEG" or "BMP".

I may try encoding in a different codec. Hopefully, one that ffmpegx can handle so I can skip to iMovie steps.

Posted by J$ on September 8, 2006 01:24 PM

Macromedia Flash comes with an FLV export component for QuickTime. Once you have captured, using QuickTime Pro and the export component you could export directly to an FLV file which will eliminate the need for iMovie and ffmpegx completely.

More info on the component:
FLV.component - a.k.a. Flash Video Exporter - FREE (runs in demo mode)
Version 2 is included with Flash Pro 8
Version 1.2 is included in the Flash Video Update
Not needed for playback
Runs in demo mode and puts a red X over the Flash animation, suitable for testing. If Flash MX Professional 2004 is installed it runs in full mode not demo mode and does not overlay a red X on the animation.
http://www.macromedia.com/devnet/flash/articles/flv_exporter.html
http://download.macromedia.com/pub/flash/updates/mx2004/video_update/flash_video_update.dmg
Provides the following 'things':
spit:FLV1:MACR "Macromedia Flash Video (FLV)"

http://insanityflows.net/archive/index.php?title=QuickTime#FLV.component_-_a.k.a._Flash_Video_Exporter_-_FREE_.28runs_in_demo_mode.29

See also:
http://insanityflows.net/archive/index.php?title=QuickTime#Flix_Exporter

Posted by Mike on October 7, 2006 09:37 AM

Hi
I sympathize. I am trying to do something similar. I've tried many different options. This seems to work for me. I use iShowU to make the .mov then I use VisualHub to convert to Flash and a raw flv file. Then I use the elements of ffmpegx with the conversion from VisualHub. I archive this and place it on my website (a university) and it seems to be working for all computers, though a little slow on PC's. Hope this helps.

Posted by Peter on December 18, 2006 04:19 PM

the Visual Hub conversion from .mov - into either .swf or .flv - works great for me. Conversion is VERY fast.

Lets me screencast from iShowU, do my minor edits in QuickTime Pro, then convert to .flv for posting (for the screencasts I'm doing, the .flvs are about 1/3 the size of the .movs)

Posted by Will Taylor on January 25, 2007 02:21 PM