FCP howto: Use Batch Export to create a directory of still frames from a bin of clips
If you’ve got a bunch of clips in a Final Cut Pro Browser window, and you’d like to quickly generate a still frame for each clip, you can use the “Still Image” feature of FCP’s ancient “Batch Export” feature to automate much of the process. Here’s how:
The result will be a folder full-resolution PNG images, each named after its parent clip, deposited in the chosen destination folder.
I often end up processing directories full of such uncompressed images further using the excellent command-line Imagemagick utilities using the tcsh shell’s1 “foreach” command to iterate through all the images.2 It generally goes a little something like this:
$ tcsh3
% cd directory_of_images4
% foreach foo (*.png)5
foreach? convert -geometry 330x800 "$foo" "$foo:r.jpg"6
foreach? rm "$foo"7
foreach? end8
The result of this command is a set of JPEG-compressed images, one per clip selected in step 2, each resized proportionally to fit within a 330×800 rectangle.
- This is also easy to do with OS X’s default bash shell, but I’m more fluent in tcsh. [↩]
- You may prefer GraphicConverter, Photoshop, or MS Paint. Imagemagick combined with the command line is mad fast for both image transformations and automatically renaming files. [↩]
- Switching to the tcsh for this because I have yet to internalize Bash's foreach syntax. [↩]
- If you're unfamiliar with command lines and shells, please note that the "%" character here represents the tcsh command-prompt, the "$" in the previous line represents the typical Bash command-prompt. Don't type these characters in your commands, they're just here for show. [↩]
- "foo" is a placeholder of my choosing. There's nothing special about the string "foo". You can replace it with anything you like, such as "image", "placeholder", or "your_mom". Just make sure to use the same string in place of all the "$foo" commands below. [↩]
- Each time tcsh iterates through your commands, it will replace the string "$foo" with the filename of an image from the set chosen by "*.png", which is every file in the directory ending in ".png". Adding a ":r" to "$foo" indicates that tcsh should expand the filename but leave off the period and filename extension –in this case "$foo:r.jpg" removes ".png" from the file and adds ".jpg" in its place. The quotes around "$foo" are optional if your filenames do not contain spaces or special characters. [↩]
- Removing the original png file because all I ever wanted were the tiny JPEGs. [↩]
- One more note from Captain Obvious: If you try to copy and paste any of these commands, be sure not to copy and paste the superscript numbers that lead to these footnotes. [↩]


















