====== dvd_info ====== * [[http://github.com/beandog/dvd_info|GitHub dvd_info repo]] * [[https://github.com/beandog/dvd_info/releases|Downloads]] * [[https://github.com/beandog/dvd_info/wiki|Documentation]] on wiki, also see man pages * Portability: Linux, Cygwin, [[OpenBSD]], [[NetBSD]], FreeBSD * [[dvd_copy]] * [[dvd_drive_status]] * [[dvd_player]] * [[dvd_rip]] My own set of C programs that are small utilities for reading DVD info, and managing DVD drives. Included: * ''dvd_info'' - a successor in spirit to [[lsdvd]], can output information about a DVD in human-readable or JSON output * ''dvd_drive_status'' - poll the DVD drive to see the status of a drive: open, polling, closed with no disc, closed with disc * ''dvd_eject'' - a small eject utility that does its best to make sure a drive is properly closed and ready to go before being able to access it (very useful for shell scripts that access DVD drives) * ''dvd_copy'' - copies a title straight to harddrive or stdout * ''dvd_player'' - a DVD player using [[mpv|libmpv]] * ''dvd_trip'' - a DVD ripper using [[mpv|libmpv]] * ''dvd_debug'' - a program to display an excessive amount of information about a DVD The code is open-source, licensed under GNU GPL v2. Source code is available at [[https://github.com/beandog/dvd_info]]. Build requirements: libdvdread, libdvdcss, libmpv (optional, needed for ''dvd_player'' and ''dvd_trip'') === Installation ==== Then you can do standard ''./configure; make; make install'' ==== dvd_info ==== See ''--help'' for all the fancy stuff it can do. A man page (man dvd_info) is also included. dvd_info - display information about a DVD Usage: dvd_info [path] [options] Options: -t, --track Limit to selected track (default: all tracks) -j, --json Display output in JSON format Detailed information: -v, --video Display video streams -a, --audio Display audio streams -s, --subtitles Display VobSub subtitles -c, --chapters Display chapters -d, --cells Display cells -x, --all Display all Narrow results: -l, --longest Track with the longest length -A, --has-audio Track has audio streams -S, --has-subtitles Track has VobSub subtitles -E, --seconds Track has minimum number of seconds -M, --minutes Track has minimum number of minutes -T, --vts Track is in video title set number -L, --valid Track is marked as valid Other: -i, --id Display DVD ID only -u, --volume Display DVD UDF volume name only (for ISO or disc) -g, --xchap Display title's chapter format for mkvmerge -h, --help Display these help options --version Display version DVD path can be a device name, a single file, or a directory (default: /dev/sr0) === Human-friendly output === Here's what polling a Batman: The Animated Series DVD looks like: $ dvd_info BATMAN_THE_ANIMATED_SERIES.iso Disc Title: BATMAN_ANIMATED_SERIES_DISC1 Title: 01, Length: 02:36:21.100 Chapters: 07, Cells: 07, Audio streams: 04, Subpictures: 03 Title: 02, Length: 00:00:12.000 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 03, Length: 00:00:32.033 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 04, Length: 00:01:06.800 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 05, Length: 00:00:29.967 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 06, Length: 00:22:20.100 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 07, Length: 00:22:20.834 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 08, Length: 00:22:24.433 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 09, Length: 00:22:17.000 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 10, Length: 00:22:18.734 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 11, Length: 00:22:24.000 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 12, Length: 00:22:16.000 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 13, Length: 00:05:02.000 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Title: 14, Length: 00:22:20.100 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 Longest track: 01 Specifing a track: $ dvd_info -t BATMAN_THE_ANIMATED_SERIES.iso Disc Title: BATMAN_ANIMATED_SERIES_DISC1 Title: 06, Length: 00:22:20.100 Chapters: 01, Cells: 01, Audio streams: 04, Subpictures: 03 === JSON output === The JSON output functionality will print *all* the information that ''dvd_info'' polls about the DVD. This is far more than the human-friendly output.