FFmpeg lote mescla vídeos dentro de uma pasta

0

Eu tenho uma pasta c:\myfolder\ contendo uma quantidade variável de mp4 arquivos com a mesma resolução / codec.

Agora eu preciso de um arquivo .bat para mesclar todos os vídeos em um.

por exemplo. c:\myfolder.mp4, c:\myfolder.mp4, c:\myfolder.mp4 em c:\myfolder\output.mp4

Eu encontrei uma maneira de fazer isso criando um arquivo .txt primeiro, que contém todos os vídeos de entrada e para fazer em outra etapa

ffmpeg.exe -f concat -i mylist.txt -c copy output.mp4

Pergunta: Existe uma maneira de fazer isso em um passo?

    
por Dr. Snail 18.06.2018 / 09:18

1 resposta

0

Como não tenho o ffmpeg instalado neste pc, não foi testado:

:: Q:\Test18\SU_1332169.cmd
@Echo off
Set "BaseDir=c:\myfolder"
Set "OutMp4=%BaseDir%\Output.mp4"
Set "FfmpegCue=%Temp%\Ffmpeg.Cue"

:: gather files but exclude evt. present output file
( For /f "Delims=" %%A in (
  'Dir /B/S/A-D/ON "%BaseDir%\*.mp4" 2^>NUL ^|findstr /VLI "%OutMp4%" '
  ) Do Echo=%%A
) > "%FfmpegCue%"

:: Just to show what's in the cue file:
more "%FfmpegCue%"
Pause

:: Do the concat
ffmpeg.exe -f concat -i "%FfmpegCue%" -c copy "%OutMp4%" && (
  Echo Successfully created "%OutMp4%"
  choice /M "Delete %FfmegCue% "
  If not Errorlevel 2 Del "%FfmegCue%"
) || (echo ffmpeg exited with error)
    
por 20.06.2018 / 14:35