From ec88f472eeb8c71aba9a762bbf65fe27b75a13cb Mon Sep 17 00:00:00 2001 From: James Bunton Date: Wed, 4 Jan 2017 22:12:03 +1100 Subject: [PATCH] mkvmerge-set-chapters --- mkvmerge-set-chapters | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 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 + -- 2.39.2