Я работаю над системой Mac в видео компании, где мне нужно очистить множество папок и подпапок, содержащих большие промежуточные видеофайлы.
Поэтому я искал способ пакетного преобразования многих файлов .mov в файлы h.264 .mp4 с помощью ffmpeg. Я нашел несколько кодов для пакетного преобразования, используя скрипт, похожий на
for f in '*.mov';
do ffmpeg -i $f -c:v libx264 -f mp4 "${%f.mov}.mp4" ;
done
Однако это работает только в текущей папке, в которой запускается скрипт, в то время как я ищу способ рекурсивного поиска файлов .mov и их пакетного преобразования.
На данный момент решение, которое работает для меня, ощущается немного грубо; Я просто использую поиск и выполнение ffmpeg;
find . -name '*.mov' -type f -exec ffmpeg -i {} -c:v libx264 -f mp4 {}.mp4
Тем не менее, одна из проблем, с которыми я сталкиваюсь, заключается в том, что я не могу заменить .mov на .mp4 в этом формате, поэтому вывод добавит .mp4 к {} с файлами, заканчивающимися на * .mov .mp4
Кроме того, я предполагаю, что это не самый безопасный или самый хороший способ рендеринга пакета.
Мне было интересно, есть ли более безопасный или менее терминально интенсивный способ создания пакета для ffmpeg, который мог бы даже решить мою проблему с именами, или способ заставить команду 'for f in * mov' найти видео рекурсивно до 5+ папки глубокие.
Любая помощь будет принята с благодарностью.