This project is read-only.


A simple commandline tool to cluster handbrake file processing


to use, you need .NET Framework 4.5, MSMQ installed on your client and server machines, and Handbrake installed on each node. If using RabbitMQ Branch, you need RabbitMQ ( installed on your head node...

How to Use (work in progress)

on your master node, create an private MSMQ named HandbrakeCluster. this should be marked as transactional.
copy handbrakecluster to each of your nodes
change the config of the adder program to point at the correct MSMQ. for example:


change the IP address to your machine name or IP.

on your head node, run the "adder" program with the following params

directory of source files (file share)
type of files to read (eg .avi, .mkv)
where you want the finished files places (file share)
file extention (.m4v or .mp4 as example)
example: HandBrakeClusterAdder \\NAS\TVShows\CSI\ *.avi \\NAS\iTunesWatchFolder .m4v

If you have spaces in your folder names, you must wrap them with quotes (eg "\\NAS\TV Shows\CSI")

on each node, change config to point to correct path for HandBrake (x64 or x86 supported, point at HandbrakeCLI.exe) and also set the location of your MSMQ queue...

run the program...

you will need MSMQ on each machine, and each machine needs to see the head node...

GUI Tool

The GUI tool is a WPF app which takes a few minor parameters...

destination is where you want the files to go (file share)
drag and drop the files directly into the window and they will be added
click the add button and they will be written to the queue
I have tested this on Domain Joined machines, so each machine knew each other and could talk without issues. Also, the EXE was run as Admin, but not sure if that's required. RabbitMQ branch works on NON domain joined machines

Last edited Jan 22, 2013 at 10:37 PM by tiernano, version 3