This project is read-only.

Changes Needed for next release. V 2.0

May 14, 2010 at 7:17 PM
Edited May 14, 2010 at 7:34 PM

The files to be encoded text box needs to allow use of the delete key, and the ability to select multiple items at once.

Once the Start Batch Encode button is clicked, the code needs to verify the validity of the input/output locations and notify the user of problems.

Need to add the ability to pause and or cancel the encoding between individual files.

Add presets and remove the need to paste a query from the HandBrake gui.

The ability to save and load query's as presets.

Simplify the user interface by hiding the HandBrake query and HandBrake cli location unless the user needs to modify these manually (create new preset).

Add a custom Icon to the program.  I need some help here from anyone willing to contribute.

Add drag and drop support.

Any ideas by the users???


May 18, 2010 at 9:53 AM
Your batch development is quite great. But since I saw u create a new project to open the batch to others format, I'm wondering why you except move file...
May 18, 2010 at 4:33 PM
Edited May 18, 2010 at 4:45 PM

Do you mean .mov files?  It was just an oversight.  I will add it very soon.

May 18, 2010 at 4:44 PM

Done. Now includes .mov support.


May 20, 2010 at 12:12 PM

Im sorry but I couldnt make it work with mov files

May 20, 2010 at 4:09 PM

Did you change the Handbrake query? 

May 24, 2010 at 9:52 AM
yes I put this basic query to encode the mov in an itune compatible format -f m4v -O -w 640 -l 360 -e x264 -b 600 -a 1 -E faac -6 stereo -R 48 -B 160 -D 0 -x ref=2:bframes=2:subq=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0 -v 1
May 30, 2010 at 1:49 PM

I'll try and test it today and find out what the problem is.  Can anyone recommend a short ".mov" file I can download on the web for testing?

May 30, 2010 at 2:37 PM

I just tested it and it worked for me with the following query:

 -i -t 1 -c 1 -o -f mp4 -X 480 -l 272 -e x264 -q 20 -a 1 -E faac -6 dpl2 -R 48 -B 128 -D 0.0 -x cabac=0:ref=2:me=umh:bframes=0:subq=6:8x8dct=0:trellis=0:weightb=0 -v 0


May 31, 2010 at 11:36 AM
I'm sorry : maibe we misunderstood... your soft work well, but when I select the folder to encode, where I put some mov files (with DV pal codec) but also avi, wmv and flv.... the soft only sees avi and flv files...
Jun 3, 2010 at 2:44 PM
I added support for wmv's. What is the file extension for the "DV pal codec"?
Jun 24, 2010 at 11:17 AM
Edited Jun 24, 2010 at 7:34 PM

Hi - a noob here. Regarding the quality buttons under the video tab, can someone please tell me how, using HB Batch Encoder, to change the -q 20 (quality) syntax/commands to select the Avg Bitrate (kbps) button instead, say for a value of 768 kbps?

Also how would I change the syntax/commands to encode a video  so the encoded version had the audio tracks removed?

Thank you

Jul 25, 2010 at 4:46 PM
Edited Jul 25, 2010 at 4:55 PM

Please add support to read .mpeg extension.  I have a bunch of .tivo files that have been converted to .mpeg (mpeg2 HD w/AC3 audio).  Also, when i add files then delete all of them from the file box, the application crashes (taking down Windows 7 desktop with it) with an error indicating zero is not an acceptable value.  Error details below:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'.
Parameter name: SelectedIndex
   at System.Windows.Forms.ListBox.set_SelectedIndex(Int32 value)
   at HandBrake_Encoder.handBrakeBatchEncoder.fileRemoveButton_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
HandBrake Encoder
    Assembly Version:
    Win32 Version:
    CodeBase: file:///C:/Users/X/Desktop/HB%20E%20v1.021/HandBrake%20Encoder.exe
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/
    Assembly Version:
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the section.
The application must also be compiled with debugging

For example:

    < jitDebugging="true" />

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Oct 26, 2010 at 6:53 AM

first of all let me say thanks for a GREAT tool.  how would I go about changing the settings to batch encode 350 mb avi's using 2pass mkv with a custom size of 120mb? this is what i have tried so far  -i -t 1 -c 1 -o -f mkv -X 480 -l 272 -e x264 -q 20 -a 1 -E faac -6 dpl2 -R 48 -B 128 -D 0.0 -x cabac=0:ref=2:bframes=2:subq=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0    but I am getting variable sizes! any tips appreciated!   I have 7TB of stuff I would  like to batch

Mar 21, 2011 at 1:35 PM

This is a absolutely fantastic tool.  

I found the first batch encoder, bummer the first person couldn't be located, 

In the back and forth of teh first one there was a comment, " for adding .mts" support...

and i was bumbed, b.c it didnt' have it, then i found this project number 2 and assumed, it had made the cut like ./wmv adn mov.

but i guess it didn't, if this project hasn't all died, i'd really be able to use it if .mts or .MTS files, were added.

im looking into how to do this myself, but i am starting from scratch basically.  thank you for your time.  great tool.

Apr 16, 2012 at 8:48 AM
Edited Apr 16, 2012 at 8:50 AM

I have created a version of this software with all the issues mentioned at the beginning of this post fixed.

Once I work out how to upload changes to a Codeplex project I will up date it.

If anyone detects any errors just let me know.


Apr 16, 2012 at 1:07 PM

Hey SwissSteve - yes please, I would really like a new version, and thank you for your hard work

Apr 16, 2012 at 6:47 PM
Edited Apr 16, 2012 at 6:48 PM

I am just getting to grips with CodePlex and how to use it and have done a first ChangeSet with my latest work in it.

I need to do a lot more testing this week and to tidy up the code but you are welcome to download it and give it a try.

If you do try it canI suggest you reload all your default settings e.g. ( default directories, location of the HandbrakeCLI etc )

I had to do this the first time I ran it.

Below is a list of changes in this release


  • Migrated the project to Visual Studio C# Express 2010.
  • Added verify files/folders before running the CLI (verify the input is good before passing this to the handbrake cli)
  • Added the ability to cancel encoding in-between and during individual files.
  • Added delete key event handler for list of video files
  • Added the ability to select from the HandBrake presets
  • Added Create / Deletion of custom presets
  • Added a Clone option for presets
  • Added the ability to save the output in the same directory as the input source
  • Added a new tab to show the output from the application as it is processing and disabled the shell dialog.   All runs within the one application now
  • Added a free icon to the application




Apr 16, 2012 at 9:08 PM
Edited Apr 16, 2012 at 9:11 PM

Nice work SwissSteve!  There are some issues to be worked out through testing, but overall a great job.  Hopefully the community will do some testing and chime in. 

I've upgraded you to Coordinator so you can push the release when you think it's ready.

I would still prefer the end user not have to deal with the cli configuration.  I think only the presets should be shown to the user, where the cli configuration would show up as a custom or advanced option and would otherwise be out of sight.  I can't complain though as I haven't had time to implement this myself. 

If I don't get back involved with the project in a few months I will probably just transfer ownership to you.  I've been planning to for a while but I'm just too busy.

Anyway, thanks for the hard work.


Apr 16, 2012 at 9:58 PM
Edited Apr 16, 2012 at 10:06 PM

Oh yea, as far as cleaning up the code; I have one suggestion:

The "DirSearch" and "encodeFromFolderEntered" Functions both go through a list of input file types to search for.  These file types should be in one location such as a list in a member property of the main form.   Then the "DirSearch" and "encodeFromFolderEntered" functions should just loop though that list instead of having the same piece of code repeated over and over.


for each input type do the following:


foreach (string f in Directory.GetFiles(folderTextBox.Text, "filetype"))

It's really an easy fix that I just never got around to.  Having the same piece of code repeated over and over as well as having the input file types in more than one location is just bad code and harder to maintain as well as harder for people to modify the input types for their own purposes.

I would go ahead and do this but, I've never coordinated with anyone else on a project before or used versioning software so I'm not sure how to push this change to the source code that you published.

Apr 17, 2012 at 1:03 PM

Requested fix is implemented, will be in the next changeset end of the weekend once testing is complete.

Regarding the hiding of the CLI parameters I would like to better understand the users perspective for having this information displayed.    I agree with you, now that we have the Presets option then this is probably not so important to have on the main view.   I also doubt that a user will use this batch tool to prototype conversion settings however saying that I do find it useful to be able to view the settings used by the default presets of Handbrake and to do some minor changes on the fly

I will leave it as is for now and we can consider it for a later release once we get some more user feedback.