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