#!/bin/bash # Convert DVD file or device to mpeg container. # TYPE=mpeg # TYPE=vob # TYPE=iso TYPE="$1" DVD="$2" OUT="$3" [ -z "$TYPE" ] && echo "usage: $0 [outfile.mpeg]" && exit 1 [ -z "$DVD" ] && DVD=/dev/dvd # Get name from DVD title AUTO=`dvdbackup -I -i $DVD |grep 'with title'|cut -b 45-` echo DVD Title = $AUTO [ -z "$OUT" ] && OUT=$AUTO.$TYPE # Minimal copy. Single stream. mpeg () { mencoder \ -dvd-device "$DVD" \ dvd:// \ -oac copy \ -ovc copy \ -of mpeg \ -o "$OUT" } # This is the fastest. Also copies multiple streams. vob () { mplayer \ -dvd-device "$DVD" \ dvd:// \ -dumpstream \ -dumpfile "$OUT" } # Seems to fail on the first disk error. _iso () { mkdir -p $OUT.mnt dvdfs $OUT.mnt genisoimage -dvd-video -udf -o $OUT $OUT.mnt sudo umount $OUT.mnt rmdir $OUT.mnt } # This one works best but also takes the longest. # WDTV needs to wait until the file is done. iso () { mkdir -p .dvd dvdcopy .dvd eject "$DVD" genisoimage -dvd-video -udf -o $OUT .dvd/$AUTO rm -rf .dvd/$AUTO } $TYPE eject "$DVD"