combine 4 videos con retardo uno al lado del otro usando ffmpeg

combine 4 videos con retardo uno al lado del otro usando ffmpeg

Tengo al menos 4 videos de una videoconferencia creados por meetecho/janus-gateway
Janus, creo dos archivos de audio y video mjr para cada usuario, primero los fusioné en un archivo webm y luego los convertí todos a videos de 500*500.
Ahora estoy intentando combinar estos videos como mosaico y encontré este código:

ffmpeg -i 1.webm -i 2.webm -i 3.webm -i 4.webm \
-speed 8 -deadline realtime -filter_complex "[0]pad=2*iw:2*ih[l]; \
[1]setpts=PTS-STARTPTS+428/TB[1v]; [l][1v]overlay=x=W/2[a]; \
[2]setpts=PTS-STARTPTS+439/TB[2v]; [a][2v]overlay=y=H/2[b]; \
[3]setpts=PTS-STARTPTS+514/TB[3v]; [b][3v]overlay=y=H/2:x=W/2[v]; \
[1]adelay=428372|428372[1a]; \
[2]adelay=439999|439999[2a]; \
[3]adelay=514589|514589[3a]; \
[0][1a][2a][3a]amix=inputs=4[a]" \
-map "[v]" -map "[a]" merged.webm

Calculé los tiempos de retraso a partir de la fecha y hora de creación de cada archivo, relacionado con el primer video.

mis problemas:

  1. ¡Este código no funciona! Después de minutos de congelar la consola, muestra esta línea:

    Eliminado 29 fps=0.1 q=0.0 tamaño= 1kB tiempo=00:04:30.07 bitrate= 0.0kbits/s velocidad=0.896x

  2. No descubrí el significado de las letras antes y después de la superposición, [1v][2v][3v][l][a][b][v]...

Respuesta1

En lugar de usar la superposición varias veces, intente usar el filtro "xstack" con todas sus pistas de video; primero puede retrasar todas sus entradas, luego canalizarlas a xstack y crear su propio diseño.

Aquí hay un ejemplo de cómo usar tuberías con xstack para hacer un mosaico.

El significado de los símbolos entre [ y ] son ​​solo un nombre/id para identificar tus pistas.

Si a un filtro como "escala" se le asigna una entrada y desea procesar su salida con otro filtro, puede hacerlo así:

-filter_complex "[0:v]scale=1920:1080[video_yourscaledoutput];[video_yourscaledoutput]your_next_filter=args[video_finaloutput]" -map "[video_finaloutput]" your_final_file.mp4

[0:v]aquí hay una identificación para la pista de video de su primera transmisión de entrada; puede nombrar el resto como desee :)

información relacionada