#!/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