Commit d4093e9eb17e460fe9c4cfc6109b10a63ec8796e
1 parent
30c94601
Add some first video backup helper
Showing
1 changed file
with
90 additions
and
0 deletions
video.sh
0 → 100644
| 1 | +function dvdinfo() { | ||
| 2 | + local TRACK="${1:-1,-1,1}" | ||
| 3 | + tccat -i /dev/cdrom -T "${TRACK}" |ffprobe -i - | ||
| 4 | +} | ||
| 5 | + | ||
| 6 | +function dvdrip() { | ||
| 7 | + local OPT OPTARG OPTIND | ||
| 8 | + local OPTEND=0 | ||
| 9 | + | ||
| 10 | + local TRACK="1,-1,1" | ||
| 11 | + local PRESET="veryslow" | ||
| 12 | + local TUNE="film" | ||
| 13 | + local OUTFILE="/home/ghopp/data/dvdrip.mp4" | ||
| 14 | + | ||
| 15 | + local USAGE="$(cat <<-EOT | ||
| 16 | + Usage: $0 [-T track] [-p preset] [-t tune] [-o outfile] [MAP]... | ||
| 17 | + EOT | ||
| 18 | + )" | ||
| 19 | + | ||
| 20 | + while getopts T:p:t:o:h- OPT | ||
| 21 | + do | ||
| 22 | + case $OPT in | ||
| 23 | + T) TRACK="${OPTARG:-${TRACK}}";; | ||
| 24 | + p) PRESET="${OPTARG:-${PRESET}}";; | ||
| 25 | + t) TUNE="${OPTARG:-${TUNE}}";; | ||
| 26 | + o) OUTFILE="${OPTARG:-${OUTFILE}}";; | ||
| 27 | + -) OPTEND=1;; | ||
| 28 | + h) echo ${USAGE} && return 0;; | ||
| 29 | + ?) echo ${USAGE} && return 1;; | ||
| 30 | + esac | ||
| 31 | + [[ $OPTEND -eq 1 ]] && break | ||
| 32 | + done | ||
| 33 | + shift $((OPTIND - 1)) | ||
| 34 | + | ||
| 35 | + tccat -i /dev/cdrom -T "${TRACK}" |\ | ||
| 36 | + ffmpeg -i - -map "${*// / -map }" -c:v libx264 -vf format=yuv420p \ | ||
| 37 | + -preset ${PRESET} -tune ${TUNE} -c:a mp3 -ac 1 ${OUTFILE} | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +function filmrip() { | ||
| 41 | + local OPT OPTARG OPTIND | ||
| 42 | + local OPTEND=0 | ||
| 43 | + | ||
| 44 | + local USAGE="$(cat <<-EOT | ||
| 45 | + Usage: $0 [-T track] [-o outfile] [MAP]... | ||
| 46 | + EOT | ||
| 47 | + )" | ||
| 48 | + | ||
| 49 | + while getopts T:p:t:o:h- OPT | ||
| 50 | + do | ||
| 51 | + case $OPT in | ||
| 52 | + T) TRACK="${OPTARG}";; | ||
| 53 | + o) OUTFILE="${OPTARG}";; | ||
| 54 | + -) OPTEND=1;; | ||
| 55 | + h) echo ${USAGE} && return 0;; | ||
| 56 | + ?) echo ${USAGE} && return 1;; | ||
| 57 | + esac | ||
| 58 | + [[ $OPTEND -eq 1 ]] && break | ||
| 59 | + done | ||
| 60 | + shift $((OPTIND - 1)) | ||
| 61 | + | ||
| 62 | + dvdrip -T "${TRACK}" -o "${OUTFILE}" $@ | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +function animationrip() { | ||
| 66 | + local OPT OPTARG OPTIND | ||
| 67 | + local OPTEND=0 | ||
| 68 | + | ||
| 69 | + local USAGE="$(cat <<-EOT | ||
| 70 | + Usage: $0 [-T track] [-o outfile] [MAP]... | ||
| 71 | + EOT | ||
| 72 | + )" | ||
| 73 | + | ||
| 74 | + while getopts T:p:t:o:h- OPT | ||
| 75 | + do | ||
| 76 | + case $OPT in | ||
| 77 | + T) TRACK="${OPTARG}";; | ||
| 78 | + o) OUTFILE="${OPTARG}";; | ||
| 79 | + -) OPTEND=1;; | ||
| 80 | + h) echo ${USAGE} && return 0;; | ||
| 81 | + ?) echo ${USAGE} && return 1;; | ||
| 82 | + esac | ||
| 83 | + [[ $OPTEND -eq 1 ]] && break | ||
| 84 | + done | ||
| 85 | + shift $((OPTIND - 1)) | ||
| 86 | + | ||
| 87 | + dvdrip -T "${TRACK}" -o "${OUTFILE}" -t animation $@ | ||
| 88 | +} | ||
| 89 | + | ||
| 90 | +# vim: set ts=4 sw=4: |
Please
register
or
login
to post a comment