X-Git-Url: https://code.delx.au/transcoding/blobdiff_plain/267f424a9f427cd7c5fc88c4eda66281cebe8283..ec88f472eeb8c71aba9a762bbf65fe27b75a13cb:/mkvmerge-set-chapters diff --git a/mkvmerge-set-chapters b/mkvmerge-set-chapters new file mode 100755 index 0000000..4aade7f --- /dev/null +++ b/mkvmerge-set-chapters @@ -0,0 +1,37 @@ +#!/bin/bash -e + +if [ -z "$1" -o -z "$2" ]; then + echo "Usage: $0 videodir chapterdir destdir" + exit 1 +fi + +videodir="$(cd "$1" && pwd)" +chapterdir="$(cd "$2" && pwd)" +destdir="$(cd "$3" && pwd)" + +cd "$videodir" +find . -type f | while read infile; do + if [ ! -r "$infile" ]; then + echo "Missing file $infile" + exit 1 + fi + + outfile="${destdir}/${infile}" + if [ -e "$outfile" ]; then + echo "Skipping $infile, it already exists in destination directory!" + continue + fi + + chapterfile="${chapterdir}/${infile}.chapters" + if [ ! -e "$chapterfile" ]; then + echo "Skipping $infile, no chapters!" + continue + fi + + mkvmerge \ + -o "$outfile" \ + --chapters "${chapterfile}" \ + --no-chapters \ + "$infile" +done +