diff --git a/extractAss.sh b/extractAss.sh new file mode 100755 index 0000000000000000000000000000000000000000..cf5dcdd528f58ba17304cb71321e4c08eed09f3f --- /dev/null +++ b/extractAss.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +########################################################################################################## +# +# COMMAND : extractAss.sh +# +# AUTHOR : Kubat +# +# DESCRIPTION : CLI tool to extract subtitles from .mkv files +# +# USE : ./extractAss.sh fileInput.mkv fileOutput.ass +# +# REQUIREMENTS : Have FFMPEG and SoX installed (for audio/video decoding) +# +# +########################################################################################################## + +USAGE_MESSAGE="usage : $0 fileInput.mkv fileOutput.ass" +if [ $# != 2 ] +then + echo $USAGE_MESSAGE + exit 1 +fi + +if ! [[ "$1" =~ .mkv$ ]] || ! [[ "$2" =~ .ass$ ]] +then + echo $USAGE_MESSAGE + exit 1 +fi + +# get the subtitles track id +ID=$(mkvmerge --identify "$1" | sed -n 's/Track ID \([[:digit:]]*\).*subtitles.*/\1/p') + +mkvextract tracks "$1" "$ID":"$2" diff --git a/extractWav.sh b/extractWav.sh old mode 100644 new mode 100755 index 17d6688e93bf69e34eab74549bd31730667a132b..838fe293975bc973bb2a7300d6dba4fed708bd05 --- a/extractWav.sh +++ b/extractWav.sh @@ -32,14 +32,14 @@ for filename in "$1"/*.mkv; do [ -e "$filename" ] || continue name=${filename##*/} base=${name%.mkv} - + codecLine=$(mkvinfo "$filename" | grep " A_") regex=".*A_([A-Z0-9]+).*" - + [[ $codecLine =~ $regex ]] codec=${BASH_REMATCH[1]} - + case $codec in "AAC") @@ -57,7 +57,7 @@ for filename in "$1"/*.mkv; do "MPEG") extension="mp3" ;; - + "AC3") extension="ac3" ;; @@ -72,8 +72,8 @@ for filename in "$1"/*.mkv; do *) extension="" - ;; - + ;; + esac @@ -81,7 +81,7 @@ for filename in "$1"/*.mkv; do ffmpeg -i "$filename" -acodec copy -vn "$2/$base.$extension" && \ ffmpeg -i "$2/$base.$extension" "$2/$base.stereo.wav" && \ sox "$2/$base.stereo.wav" "$2/$base.wav" remix - && \ - rm "$2/$base.stereo.wav" && \ + rm "$2/$base.stereo.wav" && \ rm "$2/$base.$extension" done