Sto lavorando su un sistema Mac in una società di video in cui devo ripulire un sacco di cartelle e sottocartelle contenenti file video intermedi di grandi dimensioni.
Quindi stavo cercando un modo per convertire in batch molti file .mov in file h.264 .mp4 usando ffmpeg. Ho trovato diversi codici per convertire un batch utilizzando uno script simile a
for f in '*.mov';
do ffmpeg -i $f -c:v libx264 -f mp4 "${%f.mov}.mp4" ;
done
Tuttavia questo funziona solo sulla cartella corrente in cui viene eseguito lo script, mentre sto cercando un modo per trovare i file .mov ricorsivamente e batch li converte tutti.
Al momento, la soluzione che funziona per me sente una piccola forza bruta; Sto solo usando find ed esegui ffmpeg;
find . -name '*.mov' -type f -exec ffmpeg -i {} -c:v libx264 -f mp4 {}.mp4
Tuttavia, uno dei problemi che sto avendo è che non riesco a sostituire il .mov per .mp4 in questa formattazione, quindi l'output aggiungerà .mp4 al file {}, con file che finiscono come * .mov .mp4
Oltre a questo, immagino che questo non sia il modo più sicuro o il modo migliore per rendere un batch.
Mi chiedevo se esiste un modo più sicuro o meno intenso di creare un batch per ffmpeg, che potrebbe anche risolvere il mio problema di denominazione, o un modo per fare in modo che il comando 'for f in * mov' trovi i video ricorsivamente fino a 5 + cartelle in profondità.
Qualsiasi aiuto sarebbe molto apprezzato.