How to fully automate video conversion to mp4, iTunes friendly format?
z264

z264 will look at every file, but will only touch avi, flv, mpg, mpeg, wmv, vob, mkv and mp4 video files, copying video and audio streams and rewrapping if possible, transcoding just the audio if necessary, and transcoding only what video is necessary, and leave you with iTunes friendly, atom optimized mp4 files, leaving the originals in your Trash. It makes reasonably intelligent decisions for you about how to transcode files based on how you set its HandBrake variables (set at lines 312-333).


  check file for AVC encoding and flv, wmv, or mkv wrapper and rewrap in mp4 container otherwise, if not already am mp4, transcode to AVC mp4
  
  z264 has several dependencies (mediainfo, rmtrash, ffmpeg, SublerCLI, and HandBrakeCLI)



copy and paste binary install section into a new bash script and use it to download and install the dependencies into /usr/local/bin/ (create /usr/local and /usr/local/bin/ if not there already)
create 2GB ramdisk called 'Two' using command in ramdisk section

diskutil quiet erasevolume HFS+ 'Two' `hdiutil attach -nomount ram://4194304`

double-check command definitions (locations of dependencies), and correct locations (to "/usr/local/bin/")

change line 231 to read:  mediainfo="/usr/local/bin/mediainfo"
change line 236 to read:  rmtrash="/usr/local/bin/rmtrash"
change line 238 to read:  ffmpeg="/usr/local/bin/ffmpeg"
change line 239 to read:  SublerCLI="/usr/local/bin/SublerCLI"
change line 262 to read:  mediainfo="/usr/local/bin/mediainfo"
change line 263 to read:  rmtrash="/usr/local/bin/rmtrash"
change line 265 to read:  HandBrakeCLI="/usr/local/bin/HandBrakeCLI"

save as z264 in /usr/local/bin/
make executable

sudo chmod +x /usr/local/bin/z264
use Terminal to call z264 on single file, directory of files, or call it from a cron to crawl entire file systems periodically

z264 directory.full.of.mixed.video.filetypes/*





minor issues: user needs to be able to read, debug, and use bash. z264 does not yet count how many background_transcoder processes it spawns, meaning if there are a lot of transcodes, it will take awhile for them to complete, but they will complete. You also need a lot of memory (8GB is ok). Snow Leopard users will need to install purge command from xcode developer tools.