-
Notifications
You must be signed in to change notification settings - Fork 5
Home
The dvd_info project contains a collection of programs to access information about DVDs, extract content, and manage drives.
Programs include:
- dvd_info - display information about a DVD in human-readable, JSON, or MKV chapter formats.
- dvd_copy - copy tracks and chapters from a DVD to a file or stdout
- dvd_drive_status - kernel-level access to a DVD drive to check its status (Linux only)
- dvd_backup - back up a DVD to the filesystem
- dvd_player - a small DVD player using libmpv as backend
- dvd_rip - a small DVD ripper using libmpv as backend
- dvd_debug - display extensive information about a DVD
The two libraries that need to be installed for dvd_info to work is libdvdread and libdvdcss.
You can use standard configure, make, make install scripts to build and install the program.
./configure make sudo make install
If you want to build dvd_player and dvd_trip you will need libmpv (part of mpv) installed on your system. Then, pass the build option to configure.
./configure --with-libmpv make sudo make install
The DVD source can be an optical disc in a drive, a device name, an image of the disc (ISO), or a directory. With no argument, it will use the operating system's default DVD device.
dvd_info dvd_info /dev/sr0 dvd_info dvd_video.iso dvd_info ~/Videos/DVD/
dvd_info has been tested on Linux and FreeBSD. It is also written to work on Cygwin, but I have never had much luck getting libdvdcss installed. It works fine on unencrypted DVDs. It also builds with both gcc and clang just fine.
You will need to install libdvdread and libdvdcss. If you want dvd_player and dvd_rip, you will need to install mpv with libmpv and dvd USE flags. You will also have to build ffmpeg with opus and encode, otherwise dvd_rip will crash.
Standard install should work now:
./configure --with-libmpv && make && sudo make install
You will need to add your user to the cdrom system group to access the DVD drive:
sudo gpasswd -a steve cdrom
If you are installing dvd_info from source, these are the packages you'll need installed:
sudo apt install build-essential libdvd-pkg libmpv-dev libtool-bin
If you want to install dvd_player and dvd_rip, you will need libmpv-dev and libvpx9 as well:
sudo apt install libmpv-dev libvpx9
To install libdvdcss support, you will have to configure it, since Ubuntu doesn't do so automatically:
sudo dpkg-configure libdvd-pkg
Standard install should work now:
./configure --with-libmpv make sudo make install
I don't use Ubuntu, so I'm not 100% sure how to install FDK AAC, x264, or x265. Therefore, you'll have to use VP8 or VP9 video codecs and Opus audio codec in either MKV or WebM container.
For example:
dvd_rip -v vp8 -a opus -o video.mkv
I don't use Fedora myself, but I have tinkered with getting it set up to build.
Here's what I got so far to build dvd_info:
sudo dnf group install "C Development Tools and Libraries" "Development Tools" sudo dnf install libdvdread libdvdread-devel
To build dvd_player and dvd_rip you'll need to run ./configure --with-libmpv after installing these:
sudo dnf install mpv-devel libvpx libopusenc
For libdvdcss, you need to install another repo from rpmfusion: https://rpmfusion.org/Configuration and then install libdvdcss
sudo dnf install rpmfusion-free-release-tainted sudo dnf install libdvdcss
To get x264 and x265 encoding support for dvd_rip, you need to swap out default ffmpeg with the one from RPMFusion, and install the codecs:
sudo dnf swap ffmpeg-free ffmpeg --allowerasing sudo dnf install libx264 libx265
Standard install should work now:
./configure --with-libmpv make sudo make install
Install build packages and multimedia dependencies:
sudo pacman -S gcc pkgconf make autoconf automake libdvdread libdvdcss mpv
The autoconf scripts from git need to be updated for your OS, and then you can run configure and make like normal:
autoreconf -fi
./configure --with-libmpv
make
sudo make install
You will need to add your user to the optical group to access the DVD drive:
sudo gpasswd -a steve optical
I don't run FreeBSD myself, but the code is ported to use it, and it runs and is tested on 14.1-RELEASE.
Here's how I set it up:
pkg install gcc libdvdread pkgconf mpv cd /usr/ports/multimedia/libdvdcss && make
Your user must be in the 'operator' group. You can edit '/etc/group' and add your user there:
operator:*:5:root,steve
Default DVD device is /dev/cd0d, and dvd_info will automatically use that one, so you don't have to specify it.
If you run into problems, feel free to contact me or open a bug here on GitHub.