Eu tenho mesclado (concatenando) vídeos recentemente e descobri esta resposta muito útil. Para começar, instale o ffmpeg e verifique se ele está no seu caminho.
Você tem que fazer uma lista de arquivos para cada diretório que consiste em um arquivo de texto neste formato:
file 'file1.mp4'
file 'file2.mp4'
file 'file3.mp4'
Então você acabou de executar o ffmpeg com esta sintaxe:
ffmpeg -f concat -i filelist.txt -c copy merged.mp4
Eu estava construindo estes manualmente para alguns arquivos, mas para 158 pastas você vai precisar de alguma automação. A abordagem que eu tomaria provavelmente é usar o comando FOR
no prompt de comando do Windows. Você pode gerar as listas de arquivos usando algo como:
for /r %f in (*.mp4) do echo file '%~nxf' >>%~dpf\concat.txt
Isso recursivamente ( /r
) varre os arquivos MP4 na pasta atual e todas as subpastas e ecoa (imprime) o nome e a extensão (que é o nx
bit) em um arquivo separado em cada subpasta (o dp
bit obtém a letra e o caminho da unidade). O >>
bit faz anexar o nome do arquivo à lista, portanto, se você executar isso duas vezes, obterá uma lista duplicada. Portanto, exclua todos os arquivos concat.txt
antes de executar o comando.
Então você quer rodar o ffmpeg em cada um deles. Você precisará de algo como:
for /d %f in (*) do cd %~ff & ffmpeg -f concat -i concat.txt -c copy ..\merged\%~nf.mp4
Para cada diretório ( /d
), altere para ele ( cd
) e ( &
) execute ffmpeg, gerando um arquivo de resultado que esteja na pasta "mesclada" da pasta de nível superior e é nomeado após o nome da pasta.
Não testado, portanto, use a seu próprio risco. (Embora não apague ou sobrescreva nada sem perguntar.)