====== Helper Scripts ======
This is an archive of old stuff. Some things I wrote into [[dvd_info]].
This is just a collection of little scripts.
=== avi2mpg ===
#!/bin/bash
F=`basename $1 .avi`
MPG=${F}.mpg
if [[ ! -f ${MPG} ]]; then
mencoder $1 -o $MPG -profile dvd
fi
=== close_trays ===
#!/bin/bash
eject -t /dev/dvd
eject -t /dev/dvd1
=== confcat ===
Strip all empty strings and commented strings
#!/bin/bash
grep -vh '^#' "$@" | grep -v '^$'
=== dumpchapters ===
#!/bin/sh
if [[ -n $1 ]]; then
dvdxchap /dev/dvd -t ${1} > chapters.txt
else
dvdxchap /dev/dvd > chapters.txt
fi
=== dumpsub ===
#!/bin/sh
CHAPTERS=""
if [[ ! -z $2 ]]; then
CHAPTERS="-chapter ${2}"
if [[ ! -z $3 ]]; then
CHAPTERS="-chapter ${2}-${3}"
fi
fi
echo mencoder dvd://${1} -ovc copy -nosound -vobsubout movie -o /dev/null -slang en -quiet ${CHAPTERS}
=== dumpvob ===
#!/bin/sh
mplayer dvd://${1} -dumpstream -dumpfile movie.vob
=== dvd_id ===
Once you pop in a DVD, it takes a few seconds to initialize and be able to read, even though the device shows as available.
This helper script just waits patiently until it can correctly read the DVD.
It calls the binary [[disc_id]] which you'll need installed first.
#!/bin/bash
EXIT_CODE=1
DEVICE=$1
if [[ -z $DEVICE ]]; then
DEVICE=/dev/dvd
fi
if [[ ! -b $DEVICE ]]; then
echo "Device $DEVICE doesn't exist" >&2
exit 1
fi
while [[ $EXIT_CODE != 0 ]]; do
/usr/local/bin/disc_id $DEVICE 2> /dev/null
EXIT_CODE=$?
if [[ $EXIT_CODE != 0 ]]; then
sleep 1
fi
done