diff options
Diffstat (limited to '')
-rwxr-xr-x | roles/prerec/templates/mux-subs.sh | 24 |
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 |