¿Es posible fusionar archivos de video usando `cat`?

18

Me pregunto si es posible fusionar archivos de video usando el catcomando. Quiero decir, ¿se reproducirá sin problemas el archivo resultante?

Hamed Momeni
fuente
1
¿Has probado?
Sr. Lister
3
En realidad lo hice. Pero de alguna manera el resultado no contenía el segundo archivo, aunque el tamaño del archivo era la suma de ambos.
Hamed Momeni

Respuestas:

21

Sí, es posible. Pero no todos los formatos lo admiten.

Preguntas frecuentes sobre ffmpeg :

Algunos contenedores multimedia (MPEG-1, MPEG-2 PS, DV) permiten unir archivos de video simplemente concateándolos.

Al convertir a formatos RAW, también tiene una alta probabilidad de que los archivos se puedan concatenar.

ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi

Pero el uso catde esta manera creó archivos intermedios, que no son necesarios. Este es un mejor enfoque para evitar crear esos archivos intermedios:

ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
Marco
fuente
1
¿Todavía no estás creando archivos intermedios en la segunda versión?
John Gowers
6

Hay dos tipos de archivos multimedia.

  • transmisible

  • no transmisible

La principal diferencia es cómo los dos formatos de archivo incorporan metainformación. con formatos no transferibles , la metainformaciónc ("encabezado") se almacena en una posición específica en el archivo, generalmente al principio, a veces al final. No puede simplemente concatenar dichos archivos, ya que la metainformación de uno de los archivos estará en una ubicación no estándar y, por lo tanto, se ignorará.

Otoh, streamable formatos deben ser capaces de manejar los oyentes que comenzarán a jugar el "en algún lugar en el medio" archivo. Por lo tanto, estos formatos siguen reenviando la metainformación e incluso permiten actualizarla dentro del archivo / secuencia. Estos formatos pueden ser simplemente concatenados.

umläute
fuente
Por ejemplo, ogg: stackoverflow.com/questions/27980960/…
BlackShift
1

Como dijo BЈовић, en general, cada archivo tiene su propio encabezado. Pruebe con este ejemplo de Ubuntu How To's :

mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi 
rpet
fuente
0

No, no es posible, porque cada archivo de video tiene un encabezado. Para fusionar videos necesita usar una herramienta (como por ejemplo ffmpeg o mencoder ).

BЈовић
fuente
9
No del todo correcto. Hay formatos de video sin encabezado, por ejemplo, rawvideo o yuv4mpegpipe que generan datos sin procesar. Es por eso que debe proporcionar el tamaño del marco al leer esos formatos, ya que el tamaño es desconocido debido a la falta de encabezado.
Marco
2
¿Cómo es que lo hice con éxito con archivos DV entonces?
Pithikos
1
@Pithikos no tengo idea. tal vez practiques magia :)
Bћовић