VideoHelp Forum
+ Reply to Thread
Results 1 to 12 of 12
Thread
  1. I have several hundred .ISO images of DVD's on my server and would like to BATCH convert them to .MP4's.

    I have Daemon Tools and Handbrake which enables me to manual mount a single ISO and let Handbrake do it's thing. Yes Handbrake will do a BATCH convert but you must first mount/dismount the ISO images.

    I want to turn the conversion process on and return in a couple of days with all of my movies converted. It would sure free up a lot of drive space.

    Is there any "front ends" to Handbrake or other tools that would allow me to BATCH convert (and auto mount/dismout) ISO images for conversion to MP4?

    Does someone have a batch/cmd file that will mount/dismount ISO images and call Handbrake?

    Thanks for your help.
    Quote Quote  
  2. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date: Aug 2000
    Location: Sweden
    Search Comp PM
    Maybe try vidcoder.
    Quote Quote  
  3. Originally Posted by Baldrick View Post
    Maybe try vidcoder.
    Thanks for your usual QUICK response

    Vidcoder is an excellent front end to Handbrake but it does not support ISO mount/dismount function.
    Quote Quote  
  4. Originally Posted by Baldrick View Post

    You have been holding out on me again

    WOW, just when I thought that it couldn't get any better

    That looks like some amazing software. I will have to give it a try. Now all we need is a GUIDE reference in Video Help so when someone looks for BATCH conversion using Handbrake that web page is also referenced

    Initially I found this reference in the GUIDE to get me started on the conversion trail. It seems that you wrote it 2 years ago..

    http://forum.videohelp.com/threads/303110-How-to-easily-convert-DVD-to-high-quality-MP...ing-free-tools

    Now I have a surprise for you. vidcoder documentation is NOT complete. vidcoder will mount/unmount ISO files and add them to the queue So vidcoder does ALL that I wanted, BATCH CONVERSION from ISO/DVD's to MP4 or MKV

    I have tried the conversion process on 2 PC's, both have different ISO mounting software (Daemon Tools & Virtual Clone Drive). So I do not believe the Vidcoder needs any external ISO mounting software. It must have its own method of reading the ISO file.

    I did find that Vidcoder needed a little tweaking from the default configuration to produce an MP4 to my standards. That standard being I wanted an MP4 file that looked and sounded as good as the ISO/DVD movie that I was converting from. So here are the AUDIO changes that I made in the SETTINGS page.

    Click on the AUDIO tab and make these changes:

    Codec - AC3 (ffmpeg)

    Mixdown - 6 Channel Discrete
    Bitrate - 448 Kbps


    Now all we need is a How to GUIDE

    Using the above changes to the AUDIO, the file size created was a 864 MB .MP4 file when the original ISO/DVD was 4.35GB. So that is a 5 to 1 reduction in size.

    I tested the conversion time on 2 PC's. The first was a i7-920 quad and the second was a Q9550 quad both with Windows 7 64 bit. The i7-920 took 14 minutes to convert from ISO/DVD to MP4 and the Q9550 took 34 minutes. So I should be able to convert approximately 96 ISO/DVD's to MP4 in a 24 hour period using the fast PC.

    Vidcoder had both CPU's at max between 85 - 99 % usage. You can PAUSE the process if you need the PC for something else and then resume the conversion without losing a byte.


    64 bit version of Vidcoder:

    http://www.start64.com/index.php?option=com_conte ... Itemid=146

    Over the years I have learned a tremendous amount from this web site and all of the very helpful members.

    Thanks again for your help.
    Last edited by joepic; 4th Feb 2011 at 23:12.
    Quote Quote  
  5. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date: Aug 2000
    Location: Sweden
    Search Comp PM
    Adding ISO to the vidcoder tool description also. The official page has also the 64bit version, http://vidcoder.codeplex.com/releases/view/59263
    Quote Quote  
  6. Member
    Join Date: Feb 2012
    Location: Moorea
    Search PM
    hello ! thanks for the info on vidcoder that is really close to what I need to batch convert ISOs
    BUT one drawback for me is that it is just giving the encoded file a generic name ( greatmovie.iso turns into title x.mp4)
    Not too great to launch a few hundreds movies conversion and retrieve them !

    did i overlooked something ? how could I have the result as greatmovie.mp4 ?
    the isos were ripped with dvdfab and supposedly have only one title in them

    thanks to anyone with insights !
    Quote Quote  
  7. I know this post is old but while looking for a solution I finally succeeded. Here the main lines of my shell script:
    Code:
    #!/bin/bash
    MOUNT_DIR="/media/iso"
    
    filename_full=$(echo `cd \`dirname "$1"\`; pwd`/`basename "$1"`)
    filename_nopath=$(echo `basename "$1"`)
    filename_noext=${filename_nopath%.*}
    
    if mount | grep $MOUNT_DIR > /dev/null; then
      echo " - Unmounting volume $MOUNT_DIR"
      umount $MOUNT_DIR
    fi
    
    mount "$filename_full" "$MOUNT_DIR" -t udf  -o loop
    
    featureNumber=$(dvdbackup -I -i "$MOUNT_DIR" 2> /dev/null | grep 'Title set containing the main feature is' | sed 's/[^0-9]//g'  )
    featurePadded=$(printf "%02d" $featureNumber)
    files=$(find "$MOUNT_DIR/VIDEO_TS/" | grep $(echo "VTS_"$featurePadded"_[1-9].VOB") | sort | tr '\n' '|' | sed 's/|$//g' )
    
    ffmpeg -i "concat:$files" -y -acodec libfaac -aq 100 -ac 2 -async 1 -vf "scale=480:-1" -vcodec libx264 -crf 24 -threads 0 ./"$filename_noext".mp4
    1. The basic idea is to mount the ISO as a file system using loop
    2. run dvdbackup information against mounted volumne to get title number of feature title. Make sure it is padded
    3. List all the VOB files of the feature from the VIDEO_TS folder
    4. use ffmpeg scaling the movies to 480 width concatenating all the relevant VOBs in the correct order

    Have fun!
    Last edited by midiman127; 18th Jan 2013 at 21:09.
    Quote Quote  
  8. Originally Posted by midiman127 View Post
    I know this post is old but while looking for a solution I finally succeeded. Here the main lines of my shell script:
    Code:
    #!/bin/bash
    MOUNT_DIR="/media/iso"
    
    filename_full=$(echo `cd \`dirname "$1"\`; pwd`/`basename "$1"`)
    filename_nopath=$(echo `basename "$1"`)
    filename_noext=${filename_nopath%.*}
    
    if mount | grep $MOUNT_DIR > /dev/null; then
      echo " - Unmounting volume $MOUNT_DIR"
      umount $MOUNT_DIR
    fi
    
    mount "$filename_full" "$MOUNT_DIR" -t udf  -o loop
    
    featureNumber=$(dvdbackup -I -i "$MOUNT_DIR" 2> /dev/null | grep 'Title set containing the main feature is' | sed 's/[^0-9]//g'  )
    featurePadded=$(printf "%02d" $featureNumber)
    files=$(find "$MOUNT_DIR/VIDEO_TS/" | grep $(echo "VTS_"$featurePadded"_[1-9].VOB") | sort | tr '\n' '|' | sed 's/|$//g' )
    
    ffmpeg -i "concat:$files" -y -acodec libfaac -aq 100 -ac 2 -async 1 -vf "scale=480:-1" -vcodec libx264 -crf 24 -threads 0 ./"$filename_noext".mp4
    1. The basic idea is to mount the ISO as a file system using loop
    2. run dvdbackup information against mounted volumne to get title number of feature title. Make sure it is padded
    3. List all the VOB files of the feature from the VIDEO_TS folder
    4. use ffmpeg scaling the movies to 480 width concatenating all the relevant VOBs in the correct order

    Have fun!
    Interesting to see a very similar approach to what I came up with. I was taking several DVDs of individual episodes, extracting and re-encoding them for a single compilation disc. The same approach would work fine for h.264/mp4 destination, you don't even need to use ffmpeg, x264 would work just fine too.
    Quote Quote  
  9. Originally Posted by joepic View Post
    I have several hundred .ISO images of DVD's on my server and would like to BATCH convert them to .MP4's.

    I have Daemon Tools and Handbrake which enables me to manual mount a single ISO and let Handbrake do it's thing. Yes Handbrake will do a BATCH convert but you must first mount/dismount the ISO images.

    I want to turn the conversion process on and return in a couple of days with all of my movies converted. It would sure free up a lot of drive space.

    Is there any "front ends" to Handbrake or other tools that would allow me to BATCH convert (and auto mount/dismout) ISO images for conversion to MP4?

    Does someone have a batch/cmd file that will mount/dismount ISO images and call Handbrake?

    Thanks for your help.
    Your main limitation is working with Windows (according to your system specs, and inferring from the term "cmd." AFAIK, Windows has no way of loopback mounting filesystems. Linux does this very easily (see the shellscripts above).

    You could very easily spin up a virtual machine of Ubuntu in XP, then share the video source folder with the VM, so you wouldn't even have to move any files. It would require getting a bit of background on Linux shell scripting, but IMHO it's well worth it (I do all my batch conversion through shellscripts now!)
    Quote Quote  
  10. I have added some improvements to this conversion script. It now scans for the default video and audio streams. Also included is 2 pass encoding resulting in an exceptional quality for iPhone of Android. A feature movie is around 250MB in 480px wide format and stereo downmix.

    Hope this is helpful.


    Code:
    #!/bin/bash
    
    # Configuration variables START
    MOUNT_DIR="/media/iso"
    # Configuration variables END
    
    echo
    echo "#===============================================#"
    echo "| Conversion of DVD ISO to mp4                  |"
    echo "#===============================================#"
    echo
    
    # ================================================
    # output help information
    # ================================================
    output_help()
    {
      echo
      echo "-------------------------------------------------"
      echo
      echo "USE:   $(basename $0) <ISO FILE>"
      echo
      echo "ISO FILE:  An existing ISO file whos feature film will be extracted to mp4"
      echo
    }
    
    # ================================================
    # check if file was supplied
    # ================================================
    if [ -z "$1" ]
    then
      echo "ERROR: Please supply file as 1st parameter."
      output_help
      exit 1;
    fi
    
    # ================================================
    # check if we have regular file
    # ================================================
    if [ ! -f "$1" ]
    then
      echo "ERROR: The supplied file is not a regular file."
      output_help
      exit 1;
    fi
    
    # ================================================
    # check if we have read access to file
    # ================================================
    if [ ! -r "$1" ]
    then
      echo "ERROR: The supplied file is read protected."
      output_help
      exit 1;
    fi
    
    # ================================================
    # check if  the mount directory exists
    # ================================================
    if [ ! -d "$MOUNT_DIR" ]
    then
      echo "ERROR: Configuration directory MOUNT_DIR=$MOUNT_DIR does not exist."
      output_help
      exit 1;
    fi
    
    # ================================================
    # collect information
    # ================================================
    filename_full=$(echo `cd \`dirname "$1"\`; pwd`/`basename "$1"`)
    filename_nopath=$(echo `basename "$1"`)
    filename_noext=${filename_nopath%.*}
    
    # ================================================
    # check for mounted iso
    # ================================================
    if mount | grep $MOUNT_DIR > /dev/null; then
      echo " - Unmounting volume $MOUNT_DIR"
      umount $MOUNT_DIR
    fi
    
    # ================================================
    # mount iso
    # ================================================
    echo " - Mounting $filename_nopath on $MOUNT_DIR" 
    mount "$filename_full" "$MOUNT_DIR" -t udf  -o loop
    # mount "$filename_full" "$MOUNT_DIR"  -t iso9660 -o loop
    
    # ================================================
    # create backup
    # ================================================
    # dvdbackup -i "$MOUNT_DIR" -F -o "$BACKUP_DIR" -n "$BACKUP_NAME"
    
    # ================================================
    # list all the files
    # ================================================
    featureNumber=$(dvdbackup -I -i "$MOUNT_DIR" 2> /dev/null | grep 'Title set containing the main feature is' | sed 's/[^0-9]//g'  )
    featurePadded=$(printf "%02d" $featureNumber)
    files=$(find "$MOUNT_DIR/VIDEO_TS/" | grep $(echo "VTS_"$featurePadded"_[1-9].VOB") | sort | tr '\n' '|' | sed 's/|$//g' )
    
    # ================================================
    # find the default video and audio streams
    # ================================================
    videoMap=$(ffmpeg -i "$MOUNT_DIR/VIDEO_TS/VTS_"$featurePadded"_1.VOB" 2>&1 | grep "\[0x1e0\]: Video" | sed 's/\[.*$//g' | sed 's/[^0-9\.]//g')
    audioMap=$(ffmpeg -i "$MOUNT_DIR/VIDEO_TS/VTS_"$featurePadded"_1.VOB" 2>&1 | grep "\[0x80\]: Audio" | sed 's/\[.*$//g' | sed 's/[^0-9\.]//g')
    
    # ================================================
    # lets encode
    # ================================================
    ffmpeg -i "concat:$files" -y -map "$videoMap" -map "$audioMap" -acodec libfaac -ar 44100 -aq 70 -async 1 -ac 2 -vf "scale=480:-1" -vcodec libx264 -pass 1/2 -vpre veryslow -crf 25 -threads 0 ./"$filename_noext"'_part'.mp4
    
    # ================================================
    # clean up the log files
    # ================================================
    rm x264*
    rm ffmpeg*
    
    # ================================================
    # set permissions on the file
    # ================================================
    chown someuser:someuser ./"$filename_noext"'_part'.mp4
    chmod 744 ./"$filename_noext"'_part'.mp4
    mv ./"$filename_noext"'_part'.mp4 ./"$filename_noext".mp4
    Quote Quote  
  11. I have a question on this script. What if the source was a bunch of folders in DVD format like

    Movies
    .............Cars
    ..................Video_TS
    .............Pocahontas
    ..................Video_TS
    .............Planes
    ..................Video_TS
    .............Igor
    ..................Video_TS
    Have any script to do a bunch of conversion from .vob to mp4?
    Quote Quote  



Similar Threads