Using ffmpeg to combine videos side by side

note, Nov 4, 2023, on Mitja Felicijan's blog

I had a 4 webm videos (each 492x451) that I wanted to combine to be played side by side and I tried iMovie and Kdenlive and failed to do it in an easy way. I needed this for Github readme file so it also needed to be a GIF.

The following is the ffmpeg version of it.

ffmpeg -y \
  -i 01.webm \
  -i 02.webm \
  -i 03.webm \
  -i 04.webm \
  -filter_complex "\
  	[0:v] trim=duration=8, setpts=PTS-STARTPTS, scale=492x451, fps=6 [a0]; \
  	[1:v] trim=duration=8, setpts=PTS-STARTPTS, scale=492x451, fps=6 [a1]; \
  	[2:v] trim=duration=8, setpts=PTS-STARTPTS, scale=492x451, fps=6 [a2]; \
  	[3:v] trim=duration=8, setpts=PTS-STARTPTS, scale=492x451, fps=6 [a3]; \
  	[a0][a1][a2][a3] xstack=inputs=4:layout=0_0|w0_0|w0+w1_0|w0+w1+w2_0, scale=1000:-1 [v]" \
  -map "[v]" \
  -crf 23 \
  -preset veryfast \
  trigraphs.gif
Result

Other notes

DateTitle
Alacritty open links with modifier
Dungeon Crawl Stone Soup - New player guidedcss
Convert all MKV files into other formats
Compile drawterm on Fedora 38plan9
Make DCSS playable on 4k displaysdcss
Edsger W. Dijkstra Manuscripts ebook
Male and female body proportion reference images3d
Personal sane Vim defaultsvim
Write and read structs to/from files in Cc
Execute not blocking async shell command in C#
Fix bootloader not being written in Plan9plan9
Parse RSS feeds with Lua
Using ffmpeg to combine videos side by side
Mount Plan9 over networkplan9
Make B/W SVG charts with matplotlib