Scripting Video Changes in Lion: avconvert, pcastaction & podcast

The avconvert command is a new addition in OS X Lion that allows administrators to quickly and easily convert video from one format to another using presets for video conversion. The presets are mostly common Apple formats tuned to specific devices.
In its simplest form, avconvert uses a preset, a source and then an output to convert the source to the output using the preset to define the format to use for conversion. A useful preset is the 640×480 one. To convert this using this idea:
/usr/bin/avconvert --preset Preset640x480 --source /Convert/test.mov --output Converted/test.mov
While some of the presets are pretty self explanatory, I haven’t gone through them all to see their specific outputs. Simply regressioning through each and then doing a get-info on the resultant QuickTime should net such a result.
You can also use avconvert to extract audio or video only, to change data rates, track height and width, convert codecs, change frame rates and event o frame reordering. You can also specify a closed caption track, thumbnail tracks and all kinds of other cool stuff. While avconvert is the latest addition to video augmentation commands, the pcastaction command has also received some new features. I had previously written up a list of verbs for pcastaction at http://krypted.com/mac-os-x-server/pcastaction-verbs. This list is further enhanced in Lion. New verbs include:

addchapter – adds a chapter at a specified time

addtracks – add tracks using an optional offset and layers

deletetracks – deletes audio, video or audio_and_video tracks

extracttracks – outputs audio, video or audio_and_video tracks

flatten – flattens .mov, .m4v, .m4a and .m4b movies

join – joins two input files into an output file with an optional gap

qtimport – prepares QuickTime files with optional chapterizing

qtinfo – obtains keys from QuickTime files

sharewithpodcastlibrary – option for submitting a file to another Podcast Producer library

split – splits a QuickTime movie and outputs two files that are split at the time specified in the –time option

trim – specify start and end and remove the rest of the file

The podcast command, used to run Podcast Producer workflows is also still around and can be very useful. While there isn’t new stuff, it is worth mentioning that –addacl becomes –addaccess, –make explicit becomes –makefeedexplicit and –makenonexplicit becomes –makefeednonexplicit. There’s also the long, long awaited option for –removeepisode. This last option allows administrators to remove episodes from the Podcast Producer library based on the UUID of the episode. In my testing, you still need to remove the entry from the blog if you are also exporting episodes to the a blog, but this is basically what we were doing in the Deleting a Podcast post I did some time ago at http://krypted.com/mac-os-x-server/deleting-a-podcast-in-podcast-producer, just they wrap the three commands into one option of the podcast command. Still look to the asset removal article I did for actually scrubbing files (http://krypted.com/mac-os-x-server/scrubbing-assets-from-podcast-producer) . Feed removal is also still manual: http://krypted.com/mac-os-x-server/removing-feeds-from-podcast-producer.
ACL management remains about the same (http://krypted.com/mac-os-x-server/podcast-producer-workflow-acls). While I never got around to writing up how to programatically manage ACLs in Podcast Producer, it is worth mentioning that podcast’s –addacl option and –enableacl will allow you to do so. They, along with other options in podcast and pcastaction are much better documented in the man pages in lion, so the things I couldn’t get to work in 10.6 should be sorted out somewhere in 10.7.
Finally, while nothing new, the work I did on image file automation ( http://krypted.com/mac-os-x/automating-image-file-changes) with sips I now have hooking into podcast workflows. I hope to publish an article on this at some point in the future, but the idea is a workflow where you drop an image and a video into a folder (or use an upload dialog) and it watermarks the video with a compressed-down version of the image… Also, avconvert offers a perfect compliment to podcast workflows. I’ve had a number of instances where people were trying to feed pcastaction formats that were unsupported, video that was too large or other problematic inputs and so avconvert allows us to sanitize the inputs for pcastaction or podcast prior to managing our workflows. With launchdaemons watching directories this provides some of what Final Cut Server was able to provide, only without the database of assets, easy way to tag them, etc, etc, etc, etc. Overall, a very nice incremental update to Podcast Producer and en masse video management in Lion. Nothing jaw dropping or massive, but some nice new features, better documentation and in my testing so far, more overall stability.