Files
ncmr-songs-videos/ffmpeg.sh
T

61 lines
980 B
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# ffmpeg helper — bake ASS subtitles into video, or bypass with static image + audio
#
# Usage:
# ffmpeg.sh bake <video> <audio> <subtitles.ass> <output>
# ffmpeg.sh bypass <image> <audio> <output>
#
# Prerequisites: ffmpeg must be on $PATH.
set -euo pipefail
usage() {
echo "Usage:"
echo " $0 bake <video> <audio> <subtitles.ass> <output>"
echo " $0 bypass <image> <audio> <output>"
exit 1
}
[ $# -eq 4 ] || usage
MODE="$1"
shift
case "$MODE" in
bake)
VIDEO="$1"
AUDIO="$1"
ASS="$1"
OUTPUT="$1"
ffmpeg -y \
-i "$VIDEO" \
-i "$AUDIO" \
-vf "ass=$ASS" \
-c:v libx264 \
-c:a aac \
-shortest \
"$OUTPUT"
;;
bypass)
IMAGE="$1"
AUDIO="$1"
OUTPUT="$1"
ffmpeg -y \
-loop 1 \
-i "$IMAGE" \
-i "$AUDIO" \
-c:v libx264 \
-tune stillimage \
-c:a aac \
-shortest \
"$OUTPUT"
;;
*)
usage
;;
esac