Podcast Producer Community Site

Welcome to podcastproducer.org
Friday, September 03 2010 @ 01:09 PM CEST

Using handbrake with Podcast Producer 2

Using Podcast Composer you have a couple of different options for video export formats. If these formats are not enough for you, you can switch over to using Compressor for your rendering settings. Using Compressor complicates your Podcast Producer cluster setup. It also requires a license for one of the Apple product that contain Compressor. There are several other, open source solutions that you can consider for your video rendering tools. One of them is Handbrake. Other tools like ffmpeg I will discuss in upcoming articles. Handbrake is an open-source, GPL-licensed and multi-threaded video transcoder. It has been a very popular software solution for people wanting to convert their DVD library to iPod or Apple TV format. Now there is also a command line version available which makes it also usable in your Podcast Producer workflows. It converts most multimedia files that libavformat reads and libavcodec decodes. Output is either MP4 or MKV. You can also use handbrake to generate MP3 or Vorbis audio files. It also does subtitles and de-interlacing.

To use Handbrake in your workflows you will have to leave the comfort zone of Podcast Composer and dive into a text editor or, my favorite, Property List Editor. The easiest approach to create your workflow is to start with Podcast Composer and do as much possible with this as you can. Create a new workflow with al your import, export and publishing settings. Make sure you have one export setting that you can later convert to your Handbrake-export action.

Before we begin, start with downloading the command line version of Handbrake:

http://handbrake.fr/rotation.php?file...I_i386.dmg
http://handbrake.fr/rotation.php?file...x86_64.dmg

Once you are done editing the workflow save it and open the wofklow package. (Right-click the workflow and select 'Show package contents'). Navigate to the 'Tools' directory and copy the handbrake binary here. This way you will not have to install Handbrake on every machine in your cluster, it will be run from the workflow directory. You could edit the http://art.rb script to check wether the XGrid agent is a 64-bit machine if you are using the 64-bit Handbrake version, but I think you'll be safe here.

Now open template.plist and find the task that starts with 'export-plugin-quicktime-'. Here we are going to change the settings to use handbrake instead of pcastaction:

Change the line '/usr/bin/pcastaction' to '$$GLOBAL::Workflow Resource Path$$/Tools/HandBrakeCLI' You could also use 'pcastaction shell' to execute your own script/binaries, but for now we execute it directly. Next we need to set the arguments for handbrake. We are going to use the most basic options for now:

--input= $$GLOBAL::Library Bundle Path$$/edit-core-master.mov
--output=$$GLOBAL::Library Bundle Path$$/export-plugin-quicktime<UUID>.m4v

Podcast Composer generates a UUID for the export action, the easiest way is to just leave these as is, so you wont have to change anything else in the workflow. If you are going to change the names of the files or actions, make sure you match that everywhere in the template.plist file.

Handbrake will automatically detect the output format from the output filename extension.

I have seen in tests that handbrake runs pretty fast, but it can't convert Quicktime references files so you will still have to run the 'edit-core-master' action in your workflow if you do any Quartz Composer effects (like Picture in Picture, or image overlay). I will talk more about the 'edit-core-master' in a future article.

Story Options

Using handbrake with Podcast Producer 2 | 2 comments | Create New Account
The following comments are owned by whomever posted them. This site is not responsible for what they say.
Using handbrake with Podcast Producer 2
Authored by: krolingo on Monday, March 01 2010 @ 03:54 PM CET

Do you have a more complete example of your workflow?

Every time we submit a job trough ours it fails with this error:

libdvdnav: vm: failed to open/read the DVD
[09:41:10] dvd: not a dvd - trying as a stream/file instead
[09:41:10] hb_stream_open: open /Network/Servers/kino.ccnmtl.columbia.edu/Volumes/PCP2_Media/Podcast_Producer_Library/UUIDs/878451C6-76F2-47B5-B7A6-E0B1D31C918E.prb/edit-core-master.mov failed
[09:41:10] scan: unrecognized file type
[09:41:10] libhb: scan thread found 0 valid title(s)
No title found.
HandBrake has exited.

Using handbrake with Podcast Producer 2
Authored by: krolingo on Monday, March 01 2010 @ 08:11 PM CET

Figured it out:

--input=$$GLOBAL::Library Bundle Path$$/Contents/Resources/Working/SOURCE-MOVIE.mov
--output=$$GLOBAL::Library Bundle Path$$/Contents/Resources/Working/export-plugin-quicktime-UUID.m4v