The bash script is designed to be run from the terminal. There are several options:

usage: ./mkmp4s.bash [-c] [-h] [-V] [-f Normal|iPad|iPhone4] [-m T|M file1 file2]
-c Convert files MP4/M4V to custom MP4. Disabled by default.
-h Display this Help
-G Graphical Mode. Will pop-up timed options for the conversion.
-V Show version
-m Manual file mode. Either 'T' for TV-Shows or 'M' for Movies.
Followed by one or more video files to process.
Disabled by default.
-f Format for conversion, if executed. Default is 'iPad'
See all at: http://trac.handbrake.fr/wiki/BuiltInPresets
-n Don't add to iTunes automatically. Default is to add to iTunes. Implies '-k'
-k Keep final files. Default is to delete final .m4v files. Enabled if '-n'

The script can either run on full automatic mode or, conversely, all options can be tweaked.

Fully Automatic: Files to process will be reader from text files called episodes.txt and/or movies.txt. Files will be considered TV Episodes or Plain Movies depending on which file they appear in. Encoding will be made to the iPad preset. MP4s will NOT be reconverted.

User-defined: Any setting defined will override defaults. Option m can be used to override the text file lists, but must include a file type (M for movies, T for TV Episodes) and the files to process must be listed at the end.

Examples

Fully automatic Will convert all video files in episodes.txt and movies.txt with default values:

./mkmp4s.bash

Command-line file processing Will process the two video files as TV Episodes with default values:

./mkmp4s.bash -m T "TV Episode 1x02.avi" TV\ Episode 1x03.mp4

The full enchilada Convert both video files changing the default preset to iphone4 and reconverting MP4s even if already compatible, resulting MP4 files will not be added to iTunes:

It is recommended that files are named properly, so episode titles are parsed correctly:

The main advantage of properly naming and tagging becomes apparent when synchronizing iTunes with iOS devices, where iTunes and the devices themselves can manage the seasons intelligently and only include files that haven’t been watched in order:

EXTRAS

Starting with version 1.56 you can easily integrate mkmp4s into your workflows for automations. Creating a Contextual menu or a Folder Action becomes trivialwithAutomator.
A couple of sample workflows have been included. Both are almost identical. The “Folder Action” can be attached to a folder and will pick up all “video” files and process them with mkmp4s.bash. The “Service” is probably more useful, in that it can take a group of selected files and appear as a contextual menu, which will pick up all selected and process them.
Fancier automations can be made that show some sort of progress. Suggestions will be included in this section.

“Soft subtitles” are those that can be enabled or disabled at will. The opposite is usually “hard” subtitles, which are burned into the video itself and can’t be disabled. Do not confuse with forced, which are just subtitles that can’t be disabled. [↩]