name=${0##*/} name=${name%.sh} rm -f -- "${name}.part1.mkv" "${name}.part2.mkv" "${name}.concat.txt" "${name}.mkv" # Create a 320x240 clip ffmpeg -f lavfi -t 2 -i testsrc=r=30:s=320x240 -c:v vp8 -level 3 -pix_fmt yuv420p "${name}.part1.mkv" # Create a 640x480 clip ffmpeg -f lavfi -t 2 -i testsrc=r=30:s=640x480 -c:v vp8 -level 3 -pix_fmt yuv420p "${name}.part2.mkv" # Create a text file with the list of files { echo "file '${name}.part1.mkv'" echo "file '${name}.part2.mkv'" } > "${name}.concat.txt" # Concatenate the clips ffmpeg -f concat -safe 0 -i "${name}.concat.txt" -c:v copy "${name}.mkv"