Concat múltiples videos con diferentes audios y transmisiones de subtítulos cuentan usando ffmpeg

Concat múltiples videos con diferentes audios y transmisiones de subtítulos cuentan usando ffmpeg

Quiero agregar un logotipo de marca de agua a un video (subido por los usuarios) y combinarlo con una introducción. El vídeo resultante debe tener el mismo formato que el vídeo de entrada.

El problema comienza cuando el vídeo subido tiene más de una secuencia de audio e incluye subtítulos.

Resolví el problema del audio usando algo como este comando.

ffmpeg -i intro.mp4 -i input.mkv -i logo.png -filter_complex "[0:v] scale=480:270,setdar=16/9 [a]; [1:v] scale=480:270,setdar=16/9 [b]; [2:0] scale=480:270 [wm]; [b][wm] overlay[ov]; [a][0:a:0][0:a:0] [ov][1:a:0][1:a:1] concat=n=2:v=1:a=2 [vd] [a0] [a1]" -map "[vd]" -map "[a0]" -map "[a1]" -y output.mkv

Pero el resultado no contiene subtítulos.

¿Alguien puede ayudar?

Respuesta1

Usar

ffmpeg -i intro.mp4 -i input.mkv -itsoffset 4.5 -i input.mkv -i logo.png
  -filter_complex
     "[0:v] scale=480:270,setdar=16/9 [a];
      [1:v] scale=480:270,setdar=16/9 [b];
      [3:0] scale=480:270 [wm];
      [b][wm] overlay[ov];
      [a][0:a:0][0:a:0] [ov][1:a:0][1:a:1] concat=n=2:v=1:a=2 [vd] [a0] [a1]"
  -map "[vd]" -map "[a0]" -map "[a1]" -map 2:s? -c:s copy -y output.mkv

Una vez que especifique cualquier declaración de mapa, solo se incluirán aquellas transmisiones mapeadas. Por lo tanto, debe asignar explícitamente cualquier secuencia de subtítulos. Como puede que no haya ninguno, agregué un final ?para indicar una asignación condicional.

He introducido el vídeo de entrada dos veces, porque las marcas de tiempo de los subtítulos serán incorrectas en la salida, ya que la introducción ahora precede al vídeo. Se agrega un desplazamiento de marca de tiempo a la segunda entrada y el subtítulo se asigna desde esa fuente. El itsoffsetvalor debe ser igual a la duración de la introducción (en segundos). No debería ser necesario transcodificar los subtítulos.

información relacionada