Você pode processar todos os arquivos em um diretório usando o comando find
com o sinalizador -execdir
.
Exemplo:
find /home/videos/unprocessed -type f \
-execdir ffmpeg -i '{}' -f mp4 -vcodec libx264 -preset fast \
-profile:v main -acodec aac -movflags +faststart '/home/videos/processed/{}.mp4' \;
-type f
indica que você deseja localizar apenas arquivos, não diretórios.
Após o sinal -execdir
, '{}'
é substituído pelo caminho do arquivo, por exemplo, ./vidabc.mp4
.
No final do comando -execdir
, inclua um \;
para finalizar o comando.
Observe que, neste exemplo, os nomes dos seus arquivos resultantes podem parecer:
-
/home/videos/processed/vidabc.mp4.mp4
-
/home/videos/processed/vidxyz.avi.mp4
-
/home/videos/processed/vidxyz.mp4.mp4
Se isso for um problema, existem maneiras de resolver isso. Veja Comando “find” -exec substituindo a string por um exemplo semelhante.