How to Rip DVDs and Blu-rays the Good and Easy Way

This guide will demonstrate how easy it is to get a high quality rip of your DVD and Blu-ray Discs or ISOs at a decent speed.

  1. To do all of this we will need a few things installed first so open your Terminal and execute the following: brew install handbrake ffmpeg mkvtoolnix mp4v2 mpv libaacs libbluray libbdplus
  2. Now you can install the wonderful video_transcoding package with the following: sudo gem install video_transcoding
  3. Insert your DVD/BD disc into your drive or mount their ISO image. On macOS that is as easy as double-clicking on them and they will appear as a mounted filesystem. Please make a note of your disc’s mounted name; sometimes they appear as “DVD_VIDEO” or “BD_1251”.
  4. Back in your Terminal you will now run the following to scan and find the titles and chapters of your disc. Make sure to use YOUR disc’s name: transcode-video --scan /Volumes/DVD_VIDEO/
  5. You will now see a list of the titles and chapters. Usually you want to use the largest title so lets just go ahead with that, ignoring the other titles. For this example, lets pretend that my “DVD_VIDEO” has 5 Titles, the one we want is Title 1 that has 38 chapters, there are also 3 audio tracks and 5 subtitle tracks.
  6. Now lets prepare to rip it all out: transcode-video --dry-run --mp4 --veryquick --title 1 /Volumes/DVD_VIDEO/
  7. That last command will provide you with the HandBrakeCLI execution command to use without actually executing it. It will be quite a block of text so you may wish to copy it out into a text editor.
  8. Now I want you to WATCH your disc in a media player like VLC. I want you to examine the video to see if it is INTERLACED or not. You may need to DISABLE automatic de-interlacing done in VLC and other media players. This is a very important step so do not skip it unless you already know if your video is interlaced or not.
  9. Now go back to your text editor with your HandBrakeCLI command pasted in there. Look and see if there is a “--deinterlace” option in there. You must decide if you will keep it, remove it or even add it in. I strongly recommend that you add/leave it in only when the video is interlaced and remove it if it is not.
  10. Staying in your text editor, please take a look at the “--aencoder” portion. It will normally have “ca_aac” or some other “aac” encoder provided there. Sometimes transcode-video will use ac3 but I do prefer aac normally. You can change it here if you need to.
  11. After “--aencoder” you should add in “--optimize“. Option will optimize the output file for streaming. IT DOES NOT IMPACT THE QUALITY AT ALL. It only moves the “moov atom” to the beginning of the output file which allows HTTP clients to begin playing the file right away rather than having to buffer the entire video first.
  12. Now also look for any “--subtitle” and “--burn-subtitle” options. You may wish to remove them if you DO NOT WANT to have the (first) subtitle track burned into your video as is the default behaviour of transcode-video.
  13. You will now also see “--audio=1” and you can select multiple audio tracks or change the selected one to: “--audio=2” or “--audio=1,2,3
  14. Copy out this HandBrakeCLI command, paste it into your terminal and execute it. Your output file will appear in the directory in which you executed the command. The resulting file will have a great visual quality, high audio quality, great compatibility with your software, devices and even old computers but it will also feature the CHAPTER MARKERS! This means you can skip to chapters of the video easily later during playback.


This post should cover all of the basic usage of transcode-video and how I use it. For more details on how to change audio/subtitle tracks you search execute: transcode-video --help to learn more. I will cover some more advanced transcoding processes later.


One response to “How to Rip DVDs and Blu-rays the Good and Easy Way”

  1. Wolfgang

    on step 4 I get the following output:
    /usr/local/bin/transcode-video: HandBrakeCLI not available

Leave a Reply

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

  −  one  =  1