summaryrefslogtreecommitdiffstats
path: root/roles/prerec/templates/mux-subs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'roles/prerec/templates/mux-subs.sh')
-rwxr-xr-xroles/prerec/templates/mux-subs.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/roles/prerec/templates/mux-subs.sh b/roles/prerec/templates/mux-subs.sh
new file mode 100755
index 0000000..87702ad
--- /dev/null
+++ b/roles/prerec/templates/mux-subs.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+# {{ ansible_managed }}
+# Mixes in captions
+# Usage: scripts/mux-subs.sh $video $vtt
+
+set -euo pipefail
+
+cleanup() {
+ if [[ -v tmp_file ]]; then
+ rm -f -- "$tmp_file"
+ fi
+}
+trap cleanup EXIT
+
+vid="$1"
+sub="$2"
+
+if head -1 "$sub" | grep -q -- captioned; then
+ tmp_file="$(basename "$vid" ".webm")-new.webm"
+ ffmpeg -y -i "$vid" -i "$sub" -c copy -metadata:s:s:0 language=eng -disposition:s:s:0 default "$tmp_file" && \
+ mv "$tmp_file" "$vid"
+else
+ touch -m "$vid"
+fi