Combina dos videoclips en uno, colocándolos uno al lado del otro


38

Tengo dos videoclips. Ambos son 640x480 y duran 10 minutos. Uno contiene audio de fondo, el otro un actor cantante. Me gustaría crear un solo video clip de 10 minutos que mida 1280x480 (en otras palabras, quiero colocar los videos uno al lado del otro y reproducirlos simultáneamente, mezclando el audio de ambos clips). Intenté tratar de descubrir cómo hacer esto con ffmpeg / avidemux, pero hasta ahora me quedé vacío. Todos se refieren a la concatenación cuando busco la fusión.

¿Alguna recomendación?

Respuestas:


45
ffmpeg \
  -i input1.mp4 \
  -i input2.mp4 \
  -filter_complex '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' \
  -map [vid] \
  -c:v libx264 \
  -crf 23 \
  -preset veryfast \
  output.mp4

Básicamente, esto duplica el tamaño de input1.mp4 rellenando el lado derecho con negro del mismo tamaño que el video original, y luego coloca input2.mp4 sobre la parte superior de esa área negra con el filtro de superposición.

Fuente: https://superuser.com/questions/153160/join-videos-split-screen


¿Qué -map [vid]hacer?
0xcaff

@caffinatedmonkey [vid]es una denominada etiqueta de enlace , que es una etiqueta de enlace de salida definida en el gráfico de filtro (la línea de arriba con filter_complex). Asigna la salida del gráfico de filtro complejo al archivo de salida.
Jan

Me estoy poniendo Unrecognized option 'crf'. Error al dividir la lista de argumentos: opción no encontrada. Si elimino crentoncesunrecognized option 'preset'
RS

Gettingno such filter
user1767754

25

Para ser sincero, el uso de la respuesta aceptada resultó en muchos cuadros descartados para mí.

Sin embargo, el uso de hstackfilter_complex produjo una salida perfectamente fluida:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4

22

Esto se puede hacer con solo dos filtros y también se incluirá el audio de ambas entradas.

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
  • hstack colocará cada video uno al lado del otro.
  • amerge combinará el audio de ambas entradas en un solo flujo de audio multicanal y -ac 2lo hará estéreo; sin esta opción, la transmisión de audio puede terminar en 4 canales si ambas entradas son estéreo.

Hola, ¿puedo superponer un video a otro video?
Nisarg

@Nisarg Use el filtro de superposición .
llogan

Quiero un video superior poco transparente para que uno pueda ver lo que sucede en segundo plano, ¿me pueden ayudar con eso?
Nisarg

Hola señor, ¿le importa mirar esto ?
Nisarg

1
Perdí el audio con la respuesta aceptada. Este funciona perfectamente.
Matt Hough

2
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4

Agregue dos videos uno al lado del otro y también agregue una imagen superpuesta que se muestre en los videos Relleno con Puede cambiar la imagen de fondo [BgPaddingImage.jpg]aquí establezca su ruta de imagen bg.

Muestre este video a continuación, su comando Crear desde arriba

ingrese la descripción de la imagen aquí


1
¿Qué lenguaje es este? ¿Cómo lo ejecutas?
Muru

@muru Compruébelo ahora, ¿su comando FFMPEG? :)
Sanjay Hadiya
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.