1
0
Files
ContentGeneration/merge_audio_video.sh
2026-04-01 04:36:27 -07:00

35 lines
886 B
Bash

#!/bin/bash
#merges videos/output_n.mp4 with audios/audio_n.mp3 -> merged/merged_n.mp4
BASE_DIR="/home/madina/projects/short_videos"
VIDEOS_DIR="$BASE_DIR/videos"
AUDIOS_DIR="$BASE_DIR/audios"
OUTPUT_DIR="$BASE_DIR/merged"
mkdir -p "$OUTPUT_DIR"
for video in "$VIDEOS_DIR"/output_*.mp4; do
num=$(basename "$video" | sed 's/output_\([0-9]*\)\.mp4/\1/')
audio="$AUDIOS_DIR/output_${num}.mp3"
output="$OUTPUT_DIR/merged_${num}.mp4"
if [ ! -f "$audio" ]; then
echo "WARNING: No audio found for shot $num ($audio); skipped"
continue
fi
if [ -f "$output" ]; then
echo "Already exists; skipped the shot $num."
continue
fi
echo "Merging shot $num: $video + $audio -> $output"
ffmpeg -i "$video" -i "$audio" \
-c:v copy \
-c:a aac \
-shortest \
-y "$output"
echo "Done: $output"
done