Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
helper_scripts [2013/06/28 11:52] beandog created |
helper_scripts [2018/03/27 23:54] (current) beandog |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Helper Scripts ====== | ====== Helper Scripts ====== | ||
+ | |||
+ | This is an archive of old stuff. Some things I wrote into [[dvd_info]]. | ||
This is just a collection of little scripts. | This is just a collection of little scripts. | ||
+ | === avi2mpg === | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | F=`basename $1 .avi` | ||
+ | MPG=${F}.mpg | ||
+ | if [[ ! -f ${MPG} ]]; then | ||
+ | mencoder $1 -o $MPG -profile dvd | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | === close_trays === | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | eject -t /dev/dvd | ||
+ | eject -t /dev/dvd1 | ||
+ | </code> | ||
+ | |||
+ | === confcat === | ||
+ | |||
+ | Strip all empty strings and commented strings | ||
+ | |||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | grep -vh '^#' "$@" | grep -v '^$' | ||
+ | </code> | ||
=== dumpchapters === | === dumpchapters === | ||
Line 13: | Line 42: | ||
dvdxchap /dev/dvd > chapters.txt | dvdxchap /dev/dvd > chapters.txt | ||
fi | fi | ||
+ | </code> | ||
+ | |||
+ | === dumpsub === | ||
+ | |||
+ | <code bash> | ||
+ | #!/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} | ||
+ | </code> | ||
+ | |||
+ | === dumpvob === | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | mplayer dvd://${1} -dumpstream -dumpfile movie.vob | ||
+ | </code> | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | <code bash> | ||
+ | #!/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 | ||
</code> | </code> |