From 39a1ce4b10f4a90328628418130a68aa834dea37 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 10 Jul 2016 17:38:23 -0500 Subject: [PATCH] ripdvd: Rip all tracks on a DVD to individual MKV files --- ripdvd.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 ripdvd.sh diff --git a/ripdvd.sh b/ripdvd.sh new file mode 100755 index 0000000..06f5491 --- /dev/null +++ b/ripdvd.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +NAME=${1} +SOURCE=${2:-/dev/cdrom} + +if [ -z "${NAME}" ]; then + printf 'usage: %s NAME [SOURCE]\n' "${0##*/}" + exit 2 +fi + +ntracks=$(lsdvd ${SOURCE} | awk '$1=="Title:"&&$11!="00,"{print}' | wc -l) +i=0 +while [ ${i} -lt ${ntracks} ]; do + i=$((i + 1)) + filename=$(printf '%st%02d.mkv' "${NAME}" ${i}) + mplayer -dumpstream dvd://${i}/${SOURCE} -dumpfile /dev/stdout | \ + ffmpeg -i - -c:v libx264 -preset slow -crf 20 -c:a copy ${filename} +done