The Ultimate Automated Ripping Machine

Recently I built myself a nice media center. I obtained a 16×3.5″ bay IBM server case. It’s 4U tall and really makes one hell of a system. This case is very, very big so I probably shouldn’t be using it as a media center case but what’s technology if you don’t over do it here and there.

One of the things that always frustrated me was ripping media such as CD’s and DVD’s. I either had to rip by hand, or… well rip by hand. Later on kept finding “one click rip” solutions, but there were two issues. First of all, it was never really one click. Second of all, I didn’t find one click acceptable. I wanted no clicks. I attempted this a couple of years ago at a previous job with a machine loaded with 4 DVD drives which was so famously dubbed the Ripasaurus. That was running on Windows. Now I’m a couple years older, and a couple years wiser so I decided to base my media center off Linux. Finally, Ripasaurus is reborn.

First I just want to outline the system I have running right now. It’s probably overkill, but hey it gets the job done. At the heart of the system is a Intel Core i5 3350P. This alone has made this the best media center I’ve ever built, and trust me, I’ve built a lot. I’m running on 4GB of DDR3 1333MHz RAM which runs just fine. To get better image quality (and the possibility of running some games) I dropped in a Nvidia Geforce GTX 460. For storage I’ve got a 32GB Sandisk SSD running my OS and 3x3TB Western Digital Red hard drives for my main storage. The hard drives are formatted for ZFS and they run in a RAID-Z just to make things a bit safer. Finally, I’ve got a Pioneer Blu-ray ROM drive I picked up off Amazon. This will be our best friend in this post.

Alright, let’s do some business.I will separate this post into sections as we will be covering how to rip audio CD’s, DVD’s, and Blu-ray discs. We will be running the DVD and Blu-ray rips through our friend Handbrake to give us a bit better file sizes and a lot more compatibility with software like XBMC.

Audio CD’s

Audio CD’s are pretty simple. We only really use one program, ABCDE (A Better CD Encoder). I’m running Ubuntu, so installation is a snap:

sudo apt-get install abcde

After ABCDE is installed, we need to make a config file. Open up your favorite text editor and save the text below in your home directory as .abcde.conf (~/.abcde.conf)

CDROM=/dev/sr0
OUTPUTTYPE=flac
INTERACTIVE=n
PADTRACKS=y
EJECTCD=y
OUTPUTDIR=/data/Music

OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}. ${TRACKFILE}'
VAOUTPUTFORMAT='Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'

ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'
mungefilename ()
{
   echo "[email protected]" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}

Obviously you’ll want to replace some information in this config with your own. My source drive by default was /dev/sr0 and I wanted my output to be in /data/Music as defined by OUTPUTDIR. The rest of he stuff I wouldn’t worry about. It places an album under the format Artist/Album/Track.ext

After this is created, you’ll want to make sure that ABCDE is ran when you insert a disc. We can utilize MIME types for this situation. Ubuntu (and I think all Debian distros? Don’t quote me on that) uses .desktop files for defining what applications can open what kinds of files along with a custom MIME type list. Lets make our CD ripping .desktop application file. Save the text below as /usr/share/applications/ripcd.desktop

[Desktop Entry]
Name=Rip CD
Comment=This will start the automated CD ripping process
Exec=abcde
TryExec=abcde
MimeType=x-content/audio-cdda
Type=Application

If we didn’t have the MimeType definition, this would look like any other program. But that line lets us do just a little bit more. For lack of a better word it tricks the system into thinking that our program will play the CD.

We’re going to want a second file created that we will reference later. Copy paste the following into ~/.local/share/applications/mimeapps.list

[Default Applications]
x-content/audio-cdda=ripcd.desktop;
x-content/video-dvd=ripdvd.desktop;
x-content/video-bluray=ripbluray.desktop
[Added Associations]
x-content/audio-cdda=ripcd.desktop;
x-content/video-dvd=ripdvd.desktop;
x-content/video-bluray=ripbluray.desktop;

If you won’t be doing DVD or Blu-ray ripping you can take those lines out.

In Ubuntu if you go to System Settings > Details > Removable Media and then click on the Audio CD drop down, you’ll notice our Rip CD program is listed. Choose this as your default. At this point you can pop in a disc and watch it rip. Note since this is a no-click solution, you won’t be notified of any errors and the only feedback you’ll get is when the tracks are created into files or the purring of the optical drive.

DVD’s

Time to move onto DVD’s. These are a bit trickier as we first have to break the encryption on the disc and rip it to the hard drive. Then we have to convert it to a better format for us to play. First thing you’ll want to do is install dvdbackup:

sudo apt-get install dvdbackup

We also need to install libdvdcss to allow us to break DVD encryption. We’ll also need to install git (it’s usually the first thing I install on any machine along with vim) and clone the libdvdcss repo.

sudo apt-get install git
git clone git://git.videolan.org/libdvdcss

Now we compile and install libdvdcss

./configure
make
sudo make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/libdvdcss.conf
ldconfig -v

We’ll also need Handbrake to do the video conversion for us

sudo add-apt-repository ppa:stebbins/handbrake-snapshots
sudo apt-get update
sudo apt-get install handbrake-cli handbrake-gtk

I usually install both the GUI and CLI versions of Handbrake. We’ll need the CLI in our script, but I end up using the GUI to make my encoding presets.

And now we can build our DVD ripping script. Save this as /usr/bin/ripdvd

#!/bin/bash

OUTPUT_DIR="/data/Ripping/DVD"
SOURCE_DRIVE="/dev/sr0"
HANDBRAKE_PRESET="AppleTV 2"
EXTENSION="m4v"

function rip_dvd() {

        # Grab the DVD title
        DVD_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
        # Replace spaces with underscores
        DVD_TITLE=${DVD_TITLE// /_}

        # Backup the DVD to out hard drive
        dvdbackup -i $SOURCE_DRIVE -o $OUTPUT_DIR -M -n $DVD_TITLE

        # grep for the HandBrakeCLI process and get the PID
        HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
        set -- $HANDBRAKE_PID
        HANDBRAKE_PID=$2

        # Wait until our previous Handbrake job is done
        if [ -n "$HANDBRAKE_PID" ]
        then
                while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done
        fi

        # HandBrake isn't ripping anything so we can pop out the disc
        eject $SOURCE_DRIVE

        # And now we can start encoding
        HandBrakeCLI -i $OUTPUT_DIR/$DVD_TITLE -o $OUTPUT_DIR/$DVD_TITLE.$EXTENSION --preset=$HANDBRAKE_PRESET

        # Clean up
        rm -R $OUTPUT_DIR/$DVD_TITLE
}

rip_dvd

Make it executable

sudo chmod +x /usr/bin/ripdvd

Now you can throw a disc in the drive and type ripdvd and watch the script do its magic. That’s not zero click, so we have to do the same thing with our audio cd’s and make a .desktop file. Save this as /usr/share/applications/ripdvd.desktop

[Desktop Entry]
Name=Rip DVD
Comment=This will start the automated DVD ripping process
Exec=ripdvd
TryExec=ripdvd
MimeType=x-content/video-dvd
Type=Application

Go back to System Settings > Details > Removable Media and change the DVD video disc option to our Rip DVD program. Now you can pop a disc in the drive and it will rip and encode our DVD. Don’t worry about sticking discs in while Handbrake is still encoding. Since ripping the DVD itself uses barely any processing power, you can start ripping the next disc while the last one is encoding with Handbrake. If you queue up another disc, it will wait until the previous Handbrake job is finished before ejecting.

Blu-ray

The moment we’ve all been waiting for, a zero click solution for ripping Blu-ray. This method works almost exactly like ripping DVD’s. First we need to get an unencrypted rip of the disc on our hard drive, then we’ll encode it using Handbrake. First we’ll need to install some programs. The first one is MakeMKV. This will do the actual ripping and decryption for us. Just a little note, this program is not FOSS and does cost $50.

We’ll need some tools to help us with compiling and installing MakeMKV

sudo apt-get install build-essential libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev libqt4-dev

Now download the binaries and source for MakeMKV

wget http://www.makemkv.com/download/makemkv-bin-1.8.6.tar.gz
wget http://www.makemkv.com/download/makemkv-oss-1.8.6.tar.gz

Extract

tar xvzf makemkv-oss-1.8.6.tar.gz
tar xvzf makemkv-bin-1.8.6.tar.gz

Now we’ll go and run make and make install in each directory

cd makemkv-oss-1.8.6
make -f makefile.linux
sudo make -f makefile.linux install
cd makemkv-bin-1.8.6
make -f makefile.linux
sudo make -f makefile.linux install

Cleanup time

rm -R makemkv*

And now we can build our script. Save this as /usr/bin/ripbluray

#!/bin/bash

OUTPUT_DIR="/data/Ripping/Bluray"
SOURCE_DRIVE="/dev/sr0"
HANDBRAKE_PRESET="AppleTV 2"
EXTENSION="mkv"

function rip_bluray() {

        # Grab the DVD title
        BLURAY_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
        # Replace spaces with underscores
        BLURAY_TITLE=${BLURAY_TITLE// /_}

        # Backup the DVD to out hard drive
        makemkvcon backup disc:0 $OUTPUT_DIR/$BLURAY_TITLE --decrypt

        # grep for the HandBrakeCLI process and get the PID
        HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
        set -- $HANDBRAKE_PID
        HANDBRAKE_PID=$2

        # Wait until our previous Handbrake job is done
        if [ -n "$HANDBRAKE_PID" ]
        then
                while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done
        fi

        # HandBrake isn't ripping anything so we can pop out the disc
        eject $SOURCE_DRIVE

        # And now we can start encoding
        HandBrakeCLI -i $OUTPUT_DIR/$BLURAY_TITLE -o $OUTPUT_DIR/$BLURAY_TITLE.$EXTENSION --preset=$HANDBRAKE_PRESET

        # Clean up
        rm -R $OUTPUT_DIR/$BLURAY_TITLE
}

rip_bluray

And make it executable

sudo chmod +x /usr/bin/ripbluray

Just like for ripping audio CD’s and DVD’s we’ll need a .desktop file. /usr/share/applications/ripbluray.desktop

[Desktop Entry]
Name=Rip Blu-ray
Comment=This will start the automated Blu-ray ripping process
Exec=ripbluray
TryExec=ripbluray
MimeType=x-content/video-bluray
Type=Application

Go back to System Settings > Details > Removable Media and you’ll notice there’s no Blu-ray option. Click the additional media button and look for Blu-ray video disc. Change this to our Rip Blu-ray program. That’s it. Zero click blu-ray ripping with a script and a couple of programs.

Just a few final notes, you can encode to other filetypes for each of these media types. Audio CD’s are controlled by ~/.abcde.conf, while DVD’s and Blu-rays are encoded according to Handbrake presets. If you make a Handbrake preset that you really like, save it and then replace the HANDBRAKE_PRESET value in each script. Feel free to change around the scripts. If you find something that makes the ripping process faster or better, leave a comment!

48 thoughts on “The Ultimate Automated Ripping Machine”

  1. Hi there, I’m trying to follow these instructions to make my own auto-ripping machine, but with version 1.8.7 of MakeMKV, and less Linux knowledge than I’d like to admit. I run into problems when trying to create the script file in /usr/bin/, as the system won’t let me save the file there. I tried saving it to my Documents folder, but I’m either doing it wrong or there’s some limitation that I’m not seeing. If you can think of a solution, let me know, cause I’m really stuck.

    1. No problem. To do writing in the /usr/bin folder you need to have root privileges. Open up a command line and do sudo gedit /usr/bin/ obviously replacing

  2. Hello, this information is soooooooo incredibly usefull! I am building a “dummy proof” HTPC for my dad (who has problem adjusting the time on an alarm clock, just imagine what it’s like with PCs!).

    One thing though, do you know of any way to have some sort of progress bar when ripping bluerays? The process takes so much time but there is no indication of what is happening!

    Regards,

    – Normand, Quebec, Canada

    1. At the moment, no not really. There’s a way to get MakeMKV to spit out its status, but I totally forgot what it was. One of the projects in my backlog is to create a web interface for this, but that’s way down the line.

    1. You very well could, I just decided not to. Buying MakeMKV for Bluray ripping is worth it, but there’s so many other free applications out there to rip DVD.

  3. Great tutorial. Iḿ getting stuck at the “compile and install libdvdcss”. I cannot seem to figure out how the configure part works..

    Can you help me out?

    1. You should be able to just run ./configure and it should get the files ready to compile. Make sure you have all packages installed and permissions are correct.

  4. Hey Pat,

    I loved your article and your ideas were spot on. I decided to run with it and develop it a bit further.

    Please feel free to check it out, would love to hear what you think.

    One thing I’ve done slightly different is to remove the automatically started encoding but the ripping stays quite similar all but a few changes.

    1. Awesome Joel! I’m glad you decided to work on this a bit further than I went, I haven’t had much time to perfect it. If I get some time, however, expect some pull requests 🙂

  5. Hello… I have done my first “successfull” rip of a bluray, but it took one of the smallest files, not the main title… how could that be?

    1. Honestly, I’m not sure you’d need to do anything. Handbrake is the only thing that is a non-CLI program here, but we use the CLI component of it anyway.

  6. I glanced through this tutorial and I plan to set up my own rip machine in the next couple of months. This will be incredibly helpful, so thank you.

    Just wondering: have you explored the possibility of querying imdb to grab metadata for the movies? You could then form the file structure based on that metadata and make your library searchable by year, genre, director etc.

    I was thinking of also automating p2p by making a torrent file upon rip completion.

    1. I’ve definitely thought about this… building a web interface to monitor multiple drive rips and such. It might be a project for the winter since my time is a bit limited.

  7. Made a small update.. since some of my movies had a simple ‘DVD_MOVIE’ for a title… Also, I wanted them automatically sorted:

    # Play sound letting me know the drive is ready to load another disc
    paplay /usr/share/sounds/Air\ Horn-SoundBible.com-964603082.wav
    # paplay /usr/share/sounds/ubuntu/stereo/phone-incoming-call.ogg

  8. Somehow the wrong piece copied.. 🙂

    #!/bin/bash

    OUTPUT_DIR=”/storage/Videos”
    SOURCE_DRIVE=”/dev/cdrom”
    HANDBRAKE_PRESET=”AppleTV 3″
    GENERIC_NAME=”DVD_VIDEO”
    EXTENSION=”m4v”
    MOVIE_PATH=/

    function move_movie {
    initial=”$(echo [email protected] | head -c 1)”

    if [ “$initial” -eq “$initial” ] 2>/dev/null; then
    initial=”_NumericTitle”
    else
    echo
    fi

    MOVIE_PATH=$OUTPUT_DIR/${initial^}
    echo New Movie Path is: $MOVIE_PATH
    mkdir -p $MOVIE_PATH
    mv [email protected] $MOVIE_PATH
    }

    function rip_dvd() {
    # Grab the DVD title
    DVD_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)

    if [ “$DVD_TITLE” = “$GENERIC_NAME” ]; then
    DVD_TITLE=$(zenity –entry –text=”Enter the name of the Movie” –title=”Movie Name” –entry-text “$DVD_TITLE”)
    else
    DVD_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
    fi

    # Replace spaces with underscores
    DVD_TITLE=${DVD_TITLE// /_}

    # Backup the DVD to out hard drive
    dvdbackup -i $SOURCE_DRIVE -o $OUTPUT_DIR -M -n $DVD_TITLE

    # grep for the HandBrakeCLI process and get the PID
    HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
    set — $HANDBRAKE_PID
    HANDBRAKE_PID=$2

    # Wait until our previous Handbrake job is done
    if [ -n “$HANDBRAKE_PID” ]
    then
    while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done
    fi

    # HandBrake isn’t ripping anything so we can pop out the disc
    eject $SOURCE_DRIVE

    # Play sound letting me know the drive is ready to load another disc
    paplay /usr/share/sounds/Air\ Horn-SoundBible.com-964603082.wav
    # paplay /usr/share/sounds/ubuntu/stereo/phone-incoming-call.ogg

    # And now we can start encoding
    HandBrakeCLI -i $OUTPUT_DIR/$DVD_TITLE -o $OUTPUT_DIR/$DVD_TITLE.$EXTENSION –preset=$HANDBRAKE_PRESET

    # Clean up
    rm -R $OUTPUT_DIR/$DVD_TITLE

    move_movie $OUTPUT_DIR/$DVD_TITLE.$EXTENSION
    }

    rip_dvd

  9. Hi,

    Really nice script, had the same problem with ./configure and autostart dvd, but found out of them.

    My main problem now is that i cant confirm if the process (ripdvd) autostart after the dvd are set in. Possible to get a notification of some sort?
    I’m fairly new to linux so have no idea to do it.

  10. I am just trying to get the CD ripping working first before I move on. The ripcd.desktop shortcut is being called when the CD is inserted but the abcde application does not run properly. When I open the ripcd.desktop shortcut after the CD is in, the application work flawlessly. Is there a timing issue somewhere?

  11. Trying to do this headless in a VM. Everything looks good, but I have 2 hang ups.

    1. How do you do this in CLI:

    “Go back to System Settings > Details > Removable Media and you’ll notice there’s no Blu-ray option. Click the additional media button and look for Blu-ray video disc. Change this to our Rip Blu-ray program.”

    2. Have you been able to use an smb mount as the backup disk destination? It’s having problems. I can just script it to rip locally and then move the files, but I’d prefer to rip directly to the share. I’m not compressing at all.

  12. Hi Pat,

    You mentioned that the original Ripasaurus was able to rip from four drives simultaneously. What would have to be done to this script to rip four BluRays at once? I’ve got a beast of an i7 and more RAM than you can shake a stick at, so power’s not a problem.

    1. It really depends on what you do after the ripping. Doing any encoding I’d recommend doing one at a time and dedicating all cores to it. This would cut down on the chance of having a bad encode. When I did the original ripasaurus it was doing just straight DVD rips, no encoding.

  13. Ben – I have identical VMs that I pass individual drives to. Lousy setup for encoding, but a modular solution for many drives ripping simultaneously. A low-power quad-core (hyper threaded) computer can quickly expand to accommodate up to 8 disc drives.

    Pat – Any tips for my question above Ben’s? My setup would really benefit from being able to run headless and rip directly to a dedicated smb share.

      1. I am very eager to try this out.

        I am not seeing any mention of makemkv though. Does it support bluray?

        Also, do you have any thoughts on simultaneous ripping from multiple drives?

        1. makemkv is baked in, but not called out as an explicit requirement (I should change that). Supporting multiple drives would be trivial to add (as would simultaneous encodes). Pop a feature request into the tracker and I can take a look.

  14. If you’re interested in a tool that can automatically detect whats in the video file (ryandev.github.io/Ripsnort)

    It uses the subtitles to determine with accuracy the name of the tv show/movie etc and catalog it

  15. I’m working on getting the audio cd portion of this working. I’ve got abcde configured and working properly if I run abcde from the terminal but I can’t get the auto run to function properly.

    I created the ripcd.desktop file as instructed. I’m wondering if it makes a difference that it’s a usb external drive?

    When I look in the /dev directory I see cdrom -> sr0, so i’m using /dev/sr0 as the mount point in the abcde config.

    Any tips?

    ubuntu 14.04

  16. I haven’t tried either version yet so this question may be already addressed directly once I attempt but. Is it possible with either version (or both) to have an option to rip subtitles (in an selected language if multiple are present) 1) directly into the .mkv or preferred, as a .srt file? I will be integrating this either with my plex media server or directly on my htpc running Kodi. With this and Kodi, would it be possible to have Kodi display a pop up asking if the user wants to watch (or listen) or rip?

    1. Handbrake definitely has the ability to put the subtitles in the MKV. I don’t know about writing directly to a SRT, however.

  17. Here is something I have been working on fully automated with feedback on each step. If you use your working directory for PLEX then setup PLEX to add when theres a change it will automatically add your movie into PLEX when done. Hopefully someone finds it useful. If you find anything that doesnt work email me I’ll try and fix it.
    I made it so that if you have ut set to autorun when dvd is inserted it pops messages on the screen and if you run it from command line it will echo to the screen.

    #!/bin/bash

    OUTPUT_DIR=”Your OutPut Directory”
    SOURCE_DRIVE=”/dev/sr0″
    HANDBRAKE_PRESET=”AppleTV 2″
    EXTENSION=”mkv”

    function rip_dvd() {

    # Grab the DVD title
    zenity –info –text=”Getting Movie Title” –timeout 5
    echo “Getting Movie Title”
    DVD_TITLE2=$(blkid -o value -s LABEL $SOURCE_DRIVE)
    DVD_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
    zenity –info –text “Movie Title is $DVD_TITLE” –timeout 5
    echo “Movie Title is $DVD_TITLE”
    # Replace spaces with underscores
    DVD_TITLE=${DVD_TITLE// /_}

    # Backup the DVD to out hard drive
    zenity –info –text “Backing Up Movie” -timeout 5
    echo “Backing Up Movie”
    if [ -d “$OUTPUT_DIR/$DVD_TITLE” ]
    then
    zenity –question –text=”Movie Already Exists Overwrite”
    case $? in
    0) dvdbackup -i $SOURCE_DRIVE -o $OUTPUT_DIR -M -n $DVD_TITLE
    ;;
    1) eject $SOURCE_DRIVE
    ;;
    *) echo “Timeout”
    ;;
    esac
    else
    dvdbackup -i $SOURCE_DRIVE -o $OUTPUT_DIR -M -n $DVD_TITLE
    fi
    # grep for the HandBrakeCLI process and get the PID
    HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
    set — $HANDBRAKE_PID
    HANDBRAKE_PID=$2

    # Wait until our previous Handbrake job is done
    if [ -n “$HANDBRAKE_PID” ]
    then

    while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done

    fi

    # HandBrake isn’t ripping anything so we can pop out the disc
    eject $SOURCE_DRIVE

    # And now we can start encoding
    zenity –info –text “Done Backing Up. Ripping Movie.” -timeout 5
    echo “Done Backing Up. Ripping Movie”

    HandBrakeCLI -i $OUTPUT_DIR/$DVD_TITLE -o $OUTPUT_DIR/$DVD_TITLE2.$EXTENSION –preset=$HANDBRAKE_PRESET

    if [ $? -gt 0 ]; then
    zenity –info –text=”Ripping Failed!”
    exit
    fi
    # Clean up
    zenity –info –text “Removing Working Folder” -timeout 5
    echo “Removing Working Folder”
    rm -R $OUTPUT_DIR/$DVD_TITLE
    if [ $? -gt 0 ]; then
    zenity –info –text=”Failed to Remove Directory $OUTPUT_DIR”
    exit
    fi
    zenity –info –text “Making Directory $DVD_TITLE2” -timeout 5
    echo “Making Directory”
    mkdir $OUTPUT_DIR/$DVD_TITLE2
    if [ $? -gt 0 ]; then
    zenity –info –text=”Failed Making Directory”
    exit
    fi
    zenity –info –text “Moving Movie” -timeout 5
    echo “Moving Movie”
    mv $OUTPUT_DIR/$DVD_TITLE.$EXTENSION $OUTPUT_DIR/$DVD_TITLE2
    if [ $? -gt 0 ]; then
    zenity –info –text=”Failed to Move Movie $DVD_TITLE2″
    exit
    fi
    zenity –info –text=”Rip Successful”
    }

    rip_dvd

    1. WOW I hit the jackpot on this blog post… My goal project was to incorporate FLEX so this is perfect! Thank you for adding this.

      1. I think I still have a few bugs and I’m trying to incorporate a few more failsafe. I will update as I get things working.

  18. Found this post from google and just want to say THANK YOU!! this was exactly what I was looking for. Great Step by Step tutorial!

  19. If you are running Ubuntu 14.04 libdvdcss does not seem to work you have to install Ubuntu restricted extras.
    sudo apt-get install ubuntu-restricted-extras
    I also installed libdvdread4.
    sudo apt-get install libdvdread4 && sudo /usr/share/doc/libdvdread4/install-css.sh

  20. So I’m having some issues with Rip DVD starting when a DVD is put in. I had it working in early testing stages but now it won’t start. I checked the permissions on /usr/bin/ripdvd and that is set on full permissions for everyone. The removable media setting for DVD is set to Rip DVD. My mimelist matches what you have. Any idea what could be causing this?

    1. Try running rip DVD from a command line just once and see if it works on the next dvd. I have had that glitch on me like that and running it manually fixed it.

      1. Thank you! That worked. haha unfortunately I’m running into another problem about 5-10% of the time for certain movies. I posted another comment below explaining a little bit more of the situation in detail. Thanks for the continued help!

  21. Having issues with about 5%-10% of the movies I rip with HandBrakeCLI. For some reason it is only encoding one of the files from the TS_Video folder which creates about a 1-10 second video .m4v. What’s weird is if I point the HandBrake GUI application to the same TS_Video folder it encodes the entire movie fine. I am using almost the exact same code as Pat created above. Any help would be appreciated!

    1. I am working on a variant that slightly addresses this problem. Instead of deleting the backed up files, it moves them to a holding bin.
      This way, when I run into this problem, I can run graphical Handbrake and manually fix it.
      It’s not a perfect fix, but it does keep me from loosing a lot of time backing up the drive.
      The cause of the problem isn’t in the script, it’s usually in the DVD, IMHO. And sometimes, you just need a new copy of the disc…
      Yes, this also means I have to manually clear out the backed up files, but it takes less time to do that, than to re-backup the DVD.

Leave a Reply

Your email address will not be published. Required fields are marked *