Используя FFmpeg, конвертируйте несколько файлов .mov в файлы .png

431
SeaFan1

Очень плохо знаком с Linux, поэтому заранее извиняюсь за это!

Я хочу использовать ffmpeg для извлечения файлов .png из каждого .mov со скоростью 3 кадра в секунду и создания нового файла для каждого набора извлеченных файлов .png. У меня есть около 100 файлов .mov, я хочу извлечь все файлы в пакетном режиме и должен убедиться, что извлеченные файлы .png помещаются в отдельные папки. Все мои файлы .mov находятся в одной папке, но имеют разные имена, поэтому мне нужен общий скрипт, который будет применять скрипт ко всем файлам в этой папке.

До сих пор мне удалось сделать это для одного файла, используя следующий скрипт, где rolo - это мое имя файла: ffmpeg -i rolo2.MOV -r 3 rolo2_% 04d.png

Я попытался заставить этот скрипт работать для всей папки файлов и создавать новые папки, используя

для файла в * .mov; do ffmpeg -i "$ » -r 3 "$ .png"; сделано

а также

для файла в * .mov; do prefix = "$ "; ffmpeg -i "$ file» -r 3 "$ prefix / $ prefix.png"; сделано

Но эти сценарии не работают, я не получаю сообщение об ошибке, я просто получаю стрелку (>), и терминал перестает отвечать.

Этот вопрос был помечен аналогично другому, где в качестве решения указан следующий код:

для f в * .mkv; сделать ffmpeg -i "$ f" -c: v копировать -c: aac -b: 256k "output / $ mp4"; сделано

Может ли кто-нибудь дать подробное описание того, что означает этот скрипт, чтобы я мог адаптировать его для своей проблемы?

Например, я хотел бы извлечь 3 кадра в секунду. Значит ли это, что в приведенном выше сценарии я поместил -r 3 вместо 256k?

Заранее спасибо!

0
Добро пожаловать в Супер пользователя! Что в пакетном файле, в частности, доставляет вам трудности? bertieb 6 лет назад 0
Привет! Спасибо! У меня возникают проблемы при создании сценария, который позволяет мне: 1. Делать это в пакетном режиме, а не по отдельности, и 2. Создать отдельную папку, содержащую извлеченные файлы .png из каждого файла .mov. Так, например, я попробовал этот скрипт для файла: в * .mov; do ffmpeg -i "$ » -r 3 "$ .png"; выполнено. Я нашел его в Интернете и попытался отредактировать, но я не знаю полностью, что представляет собой каждый бит кода я не могу заставить его работать. SeaFan1 6 лет назад 0
Вы действительно не сказали нам, в чем конкретно заключается проблема - вы получаете сообщение об ошибке? Пожалуйста, будьте настолько конкретны, насколько это возможно, и прямо [редактируйте] свой вопрос. slhck 6 лет назад 0
См. Связанный вопрос и соответствующий ответ, особенно часть о размещении файлов в другом каталоге. Ваш существующий пример синтаксически неверен. `для файла в * .mov; do prefix = "$ "; ffmpeg -i "$ file» -r 3 "$ prefix / $ prefix.png"; done` - это будет сделано. slhck 6 лет назад 0
Спасибо, я попробовал это, и я прочитал связанный вопрос, но я все еще не могу заставить его работать. Есть ли место, которое объясняет, как зациклить этот скрипт для нескольких файлов? А также как создавать новые папки для файлов? Как я уже говорил, я пытался найти в гугле каждую часть кода, которую вы дали, но я не понимаю, как она создает новую папку? SeaFan1 6 лет назад 0

0 ответов на вопрос

Похожие вопросы