Você precisa usar um filtro complexo:
ffmpeg -f lavfi -i "\
movie=input-1.mp4,scale=960:540[v1]; \
movie=input-2.mp4,scale=960:540[v2]; \
movie=input-3.mp4,scale=1920:540[v3]; \
[v1][v2]hstack[hstack]; \
[hstack][v3]vstack[stack]; \
movie=grid.png[grid]; \
[stack][grid]overlay=y='5*sin(0.1*n)'[outv]" \
-map "[outv]" \
output.mp4
Isso pressupõe que você tenha três vídeos de entrada ( input-1.mp4 a input-3.mp4 ), que são scale d neste exemplo apenas para levá-los às dimensões corretas para a grade. Eles são horizontalmente e verticalmente stack ed um sobre o outro para obter um vídeo de saída de 1920 a 1080 marcado como stack .
Agora você tem uma sobreposição transparente de grid.png , cujo tamanho também deve ser 1920⨉1080. É claro que você tem que criar essa grade com um editor de imagens.
Essa grade será overlay no topo da pilha, mas seu y As coordenadas variam com base na saída de uma função sine . Você pode ajustar a velocidade do movimento alterando o parâmetro antes de n (que é o número do quadro) e a amplitude alterando o parâmetro antes da função sin .
Claro, se você quiser um movimento mais aleatório, você pode modificar adicionalmente a posição usando a função random , por exemplo.
