Crear video de pantalla dividida usando ffmpeg

Tengo dos videos de diferente duración. Necesito crear un nuevo video con un video a la izquierda y otro a la derecha. Intenté usar esto . El problema es que mis videos tienen una duración diferente. Quiero comenzar un video unos segundos después de que comenzó el otro. Además, quiero mantener solo el audio del video más largo.

¿Sabes cuál de los videos es más largo?
Sí. Lo sé. Lo que es correcto.

Respuestas (1)

Usar

ffmpeg -i shorter.mp4 -i longer.mp4 -filter_complex
 "[0]trim=0:3.5,drawbox=c=black[delay];[delay][0]concat[left];
  [left][1]hstack[v]"
 -map "[v]" -map 1:a -c:a copy out.mp4

donde 3.5debe reemplazarse con el tiempo de inicio retrasado (en segundos) del video más corto.

¡Impresionante! Pero faltaba un punto. La sincronización fue correcta. Pero el video correcto no comenzó hasta que transcurrió el retraso (13 segundos). Entonces ambos videos comenzaron simultáneamente. En esencia, perdí los primeros 13 segundos del video correcto.
Ver cmd editado.
No. La actualización se distorsionó. Ambos videos comenzaron simultáneamente. Después de unos segundos, dejó el video en pausa durante unos segundos. Luego se reanudó sincronizado con el video correcto.
Mostrar registro completo..
Está utilizando una versión anterior de ffmpeg que necesita almacenamiento en búfer manual. Cambie la primera línea de filtros a[0]trim=0:3.5,drawbox=c=black,fifo[delay];[delay][0]concat,fifo[left]
Obtuve un error drive.google.com/open?id=1vgDD6T0HlR7BBaUHLdybBzlfBQnJNqyx Instalé ffmpeg hoy desde aquí ffmpeg.org/releases/ffmpeg-3.4.1.tar.bz2 . Estoy ejecutando en macbook pro ¿Necesito instalar algo más también?
Obtenga un binario de ffmpeg.zeranoe.com/builds
Usar ffmpeg -i left.mp4 -i right.mp4 -i left.mp4 -filter_complex "[0]trim=0:13,drawbox=c=black:t=fill[delay];[delay][2]concat[left];[left][1]hstack[v]" -map "[v]" -map 1:a -c:a copy out.mp4con el nuevo binario. Este es un problema de administración de búfer pendiente.
¿Cuál es la salida deffmpeg -hide_banner -filters
Muestra el filtro concat. En raras ocasiones, hay un problema de codificación de caracteres al pegar en/desde Stack Exchange. Vuelva a escribir el comando en su extremo y ejecute.
Sí. Está funcionando perfectamente bien ahora. ¡Muchas gracias! Además, tengo una petición más. Una pequeña extensión. Cómo manejar el siguiente escenario. El video de la izquierda debe comenzar después del video de la derecha. Pero la duración es tal que el video de la izquierda se extiende después de que finaliza el video de la derecha. El comando actual maneja esto, pero después de que finaliza el video correcto, el audio se detiene. El video de la izquierda continúa sin audio. ¿Cómo hacer que después de que finalice el video de la derecha, el audio se tome del video de la izquierda? ¿Debería hacer una nueva pregunta para esto?
Haz una nueva P. Es más enrevesado cambiar el audio de esa manera.
He preguntado aquí. video.stackexchange.com/q/23156/21062 ¡Gracias!