Skip to content

Instantly share code, notes, and snippets.

@benjojo
Created April 9, 2021 15:32
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save benjojo/d66295020c1da397bf5b076af4f11b33 to your computer and use it in GitHub Desktop.
Save benjojo/d66295020c1da397bf5b076af4f11b33 to your computer and use it in GitHub Desktop.
# Glues 4 files into one
ffmpeg -i 1xtra.wav.mp4 -i radio1.wav.mp4 -i radio2.wav.mp4 -i radio4.wav.mp4 -filter_complex "
nullsrc=size=640x480 [base];
[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=320:y=240;
[0:a] amix=inputs=4:duration=first:dropout_transition=4
" -c:v libx264 -pix_fmt yuv420p radio-opt-out.mp4
#! /bin/sh
#Makes single file vis
Title=$(echo $1 | awk -F '.' '{print $1}')
ffmpeg -y -i "$1" -filter_complex "
[0:a]showvolume,scale=852:-1,pad=852:480:(ow-iw)/2:(oh-ih)/2[v]" -map '[v]' -map '0:a' \
-pix_fmt yuv420p -f nut - | ffmpeg -f nut -i - -vf drawtext="fontfile=/path/to/font.ttf: \
text='$Title': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: \
boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" "$1.mp4"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment