Te damos la contestación a este apuro, o por lo menos eso creemos. Si tienes interrogantes puedes escribirlo en el apartado de comentarios, que sin dudas
Solución:
Yo personalmente haría esto con ffmpeg’s
demultiplexor concat
Primero crea un archivo llamado inputs.txt
que se ve así:
file 'input1.flv'
file 'input2.flv'
Luego usa ffmpeg así:
ffmpeg -f concat -i inputs.txt -c copy output.mp4
(Tú pueden usar output.flv
, aunque MP4 es un formato generalmente más útil). El demuxer está disponible en versiones de ffmpeg desde 1.1 en adelante. Si desea apegarse a una versión desactualizada de ffmpeg por alguna razón, puede usar el
protocolo concat
Esto es un poco complicado. El contenedor FLV no admite la concatenación a nivel de archivo, por lo que deberá remuxar a un contenedor que lo hace – como un flujo de transporte MPEG. Desafortunadamente, con video h.264 y audio AAC, deberá aplicar un par de filtros de flujo de bits.
Como estás en Linux, puedes usar canalizaciones con nombre.
mkfifo temp0 temp1
Deberá hacer lo siguiente en tres ventanas terminales separadas (o pestañas si su emulador de terminal las admite: ctrl+shift+t
normalmente abre una nueva pestaña):
ffmpeg -i input0.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp0
ffmpeg -i input1.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp1
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
De hecho, puede ejecutarlos todos en una línea de comando (de aspecto bastante complicado):
ffmpeg -i input0.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp0 2> /dev/null &
ffmpeg -i input1.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp1 2> /dev/null &
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
Asegúrese de que output.mp4 no exista ya, de lo contrario no funcionará. Si alguien está leyendo esto en un sistema que no admite canalizaciones con nombre, tendría que usar:
ffmpeg -i input0.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4
Esto creará un par de archivos intermedios llamados temp0.ts y temp1.ts, que se pueden destruir de forma segura cuando haya terminado.
Tenga en cuenta que estas instrucciones funcionarán para los archivos FLV especificados en el OP, y probablemente la mayoría de los FLV modernos de Internet, ya que casi universalmente usan video h264 y audio aac. Para otros códecs, estas instrucciones deberán modificarse un poco.
¿Insistes en usar el formato FLV? puede convertirlos a mpg o a otros formatos (consulte esto) y luego unirlos (consulte esto).
o puede ser que simplemente pruebe el método de unión directamente en los archivos flv.
EDITAR
Lee esto o esto. Utiliza algunos parámetros diferentes para MEncoder.