]> code.delx.au - transcoding/commitdiff
Added rip-audio and mirror-dvd scripts
authorJames Bunton <jamesbunton@delx.net.au>
Sat, 8 Jun 2013 06:59:12 +0000 (16:59 +1000)
committerJames Bunton <jamesbunton@delx.net.au>
Sat, 8 Jun 2013 06:59:12 +0000 (16:59 +1000)
mirror-dvd [new file with mode: 0755]
rip-audio [new file with mode: 0755]

diff --git a/mirror-dvd b/mirror-dvd
new file mode 100755 (executable)
index 0000000..540c994
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+MPLAYER="mplayer"
+
+if ! [ -b /dev/dvd ]; then
+       echo "Usage: $0 [dvd-device] [folder]"
+       exit 1
+fi
+
+dvddevice="${1:-/dev/dvd}"
+folder="${2:-$(date +%Y-%m-%d_%H-%M)}"
+mkdir -p "$folder"
+cd "$folder"
+
+"$MPLAYER" 2> /dev/null \
+       -quiet -ao null -vo null -frames 0 -identify -dvd-device "$dvddevice" dvd:// | \
+       grep 'ID_DVD_TITLE_[0-9]*_LENGTH' | cut -d'_' -f4 | while read i
+do
+       "$MPLAYER" -dumpstream -dumpfile "movie_${i}.mpg" -dvd-device "$dvddevice" dvd://"$i"
+done
+
diff --git a/rip-audio b/rip-audio
new file mode 100755 (executable)
index 0000000..1ed4d18
--- /dev/null
+++ b/rip-audio
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+MPLAYER="mplayer"
+FFMPEG="ffmpeg"
+
+if [ -z "$1" ]; then
+       echo "Usage: $0 filename"
+       exit 1
+fi
+
+INPUT="$1"
+
+acodec="$("$MPLAYER" -identify -frames 0 "$INPUT" | grep ID_AUDIO_CODEC | cut -d= -f2)"
+if [ "$acodec" = "ffaac" ]; then
+       ext=".m4a"
+else
+       echo "Unknown audio codec! $acodec"
+       exit 1
+fi
+
+OUTPUT="$(basename "$INPUT" | sed 's/\.[a-zA-Z1-9]*$//')${ext}"
+"$FFMPEG" -i "$INPUT" -vn -acodec copy "$OUTPUT"
+