2016-07-18 4 views
1

У меня есть папки, которые содержат файлы в различных пути, например: folder1/subfolder1/file.mov folder1/subfolder2/file.movFFmpeg и Баш, Перекодируйте несколько файлов на другой диск с пути сохранения

я необходимо преобразовать и скопировать все файлы в другой формат, и сохранить все пути после папки 1, например: folder2/subfolder1/file.mp4 folder2/subfolder2/file.mp4

у меня есть этот сценарий, но сохранить перекодированные файлы в исходном местоположении.

#!/bin/bash 
MOVIES=/Volumes/drive/ 
find "$MOVIES" -name '*.MP4' -exec sh -c 'ffmpeg -i "$0" -map 0 -c copy "${0%%.MP4}.mov"' {} \; exit; 

Помогите Спасибо!

ответ

0

Заменить деталь "${0%%.MP4}.mov" на "folder2/$(dirname ${0#*/})/$(basename $0 .MP4).mov". Это не будет терпеть MP4 с пробелами в их путях.

Создает ли ffmpeg каталог? Если нет, вставьте непосредственно перед ffmpeg:

mkdir -p "folder2/$(dirname ${0#*/})"; 
+0

Спасибо, извините за длинный ответ, теперь у меня есть это. 'code #!/bin/bash MOVIES = ~/Desktop/folder1/ найти" $ MOVIES "-name '* .mov' -exec sh -c 'mkdir -p"/Тома/Победа/папка2/$ (dirname $ {0 # * /}) "; ffmpeg -i "$ 0" -c copy "/ Volumes/Victory/folder2/$ (dirname $ {0 # * /})/$ (basename $ 0 .MP4) .mov" '{} \; exit; 'И это не работает правильно. После запуска этого кода у меня есть перекодированный файл без расширения с именем «Orginal» в/Volumes/Victory/folder2. Я делаю что-то неправильно? Исходным файлом является «/ Users/victor/Desktop/Folder1/B-Rolls/Original Media/Clip # 21.mov» thx, Vic –

 Смежные вопросы

  • Нет связанных вопросов^_^