Estou trabalhando em um sistema Mac em uma empresa de vídeo, onde tenho que limpar muitas pastas e subpastas que contêm arquivos de vídeo intermediários grandes.
Então eu estive procurando uma maneira de converter muitos arquivos .mov em h.264 arquivos .mp4 usando o ffmpeg. Eu encontrei vários códigos para fazer um lote converter usando um script semelhante ao
for f in '*.mov';
do ffmpeg -i $f -c:v libx264 -f mp4 "${%f.mov}.mp4" ;
done
No entanto, isso só funciona na pasta atual em que o script é executado, enquanto eu estou procurando uma maneira de encontrar arquivos .mov recursivamente e lote converter todos eles.
No momento, a solução que funciona para mim parece um pouco de força bruta; Eu estou apenas usando o find e execute o ffmpeg;
find . -name '*.mov' -type f -exec ffmpeg -i {} -c:v libx264 -f mp4 {}.mp4
No entanto, um dos problemas que estou tendo, é que eu não consigo substituir o .mov por .mp4 nessa formatação, então a saída irá adicionar .mp4 ao {}, com arquivos terminando como * .mov.mp4
Além disso, acredito que essa não seja a maneira mais segura ou mais agradável de processar um lote.
Eu queria saber se existe uma maneira mais segura ou menos terminal-terminal de criar um lote para o ffmpeg, que pode até resolver meu problema de nomeação ou uma maneira de fazer o comando 'for f in * mov' encontrar vídeos recursivamente até 5 + pastas profundas.
Qualquer ajuda seria muito apreciada.