Concatenar ficheros de vídeo

Alguna gente sigue troceando los ficheros de vídeo por motivos misteriosos, posiblemente relacionados con limitaciones del vetusto FAT32. En todo caso eso no es un problema para mí y, en cambio, tener que manejar películas divididas en varios ficheros sí me resulta inconveniente.

Los pasos que doy para dejarlo todo en un único fichero son:

  1. Convierto todos los ficheros a MKV (Matroska), si no lo están ya. MKV es mi formato nativo.
  2. Compruebo que el audio y el vídeo está sincronizado en todos los ficheros.
  3. Examino el punto de corte de cada fragmento para comprobar la escena. Los buenos rippers aprovechan un cambio de escena o un fundido a negro para que el corte se note lo menos posible. Me apunto el minuto y segundo del corte.
  4. Concateno los fragmentos, como explico más adelante.
  5. En el vídeo fusionado, reviso los puntos de corte que localicé en el paso 3 y confirmo que la transición es suave. Compruebo también que el vídeo y los audios siguen bien sincronizados.

La fusión propiamente dicha se puede hacer de muchas formas. La mayoría de la gente emplea ffmpeg, que es un programa extremadamente potente, pero que a mí me resulta innecesariamente complejo. Sobre todo cuando estamos trabajando con ficheros MKV, donde tenemos herramientas especializadas mucho más amigables.

Por ejemplo, yo utilizo mkvmerge.

Existen varias posibilidades:

$ mkvmerge -o salida.mkv entrada1.mkv entrada2.mkv ...

Esta operación junta todo en un fichero MKV, pero dentro de él las pistas siguen separadas. Es decir, habrá dos o más pistas de vídeo, audios, subtítulos, etc. El estándar Matroska soporta esto perfectamente, pero no estaría de más comprobar que nuestro reproductor de vídeo favorito funciona como debe ser.

Otra opción, mi favorita, es:

$ mkvmerge -o salida.mkv entrada1.mkv +entrada2.mkv +...

Aquí, las dos pistas de vídeo se unen en una sola, las dos primeras pistas de audio se unen en una sola y lo mismo para el resto de pistas de audio y de subtítulos. En general funciona muy bien. Hay que tener cuidado con los subtítulos, no obstante. Sobre todo si un fragmento tiene una pista de subtítulos forzados y otro fragmento no.

En este modo el programa nos indica el mapeo de pistas que va a realizar por defecto. Por ejemplo, juntando dos ficheros con una pista de vídeo, dos pistas de audio y tres pistas de subtítulos, el programa nos indicará automáticamente algo de este estilo:

No append mapping was given for the file no. 1
(entrada2.mkv').
A default mapping of
1:0:0:0,1:1:0:1,1:2:0:2,1:3:0:3,1:4:0:4,1:5:0:5 will be used
instead. Please keep that in mind if mkvmerge aborts with an
error message regarding invalid '--append-to' options.

Esto indica que la pista N del fichero entrada2.mkv se va a añadir a la pista N del fichero entrada1.mkv.

Si no nos gusta ese mapeo, le podemos indicar otro de forma manual con la opción --append-to. Estudia también la opción --append-mode. Echa un ojo al manual de mkvmerge con man mkvmerge.

Una vez que obtengas el fichero MKV con todo dentro, recuerda revisarlo para asegurarte de que está todo correcto. Presta especial atención a los puntos de corte y a que todas las secciones tengan el audio y vídeo bien sincronizados.