Пусть Python переведет правильное имя файла - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь сделать небольшую простую программу, которая может сделать видео из набора картинок.

Я нашел это:

os.system("ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4")

Работает, но только если имена файлов: imgxxx.png

мои файлы названы: xx.xx.xx.xxx.jpg (пример: 11.58.30.445.jpg). Как вы, возможно, понимаете, имена файлов создаются с момента съемки.

Я пробовал несколько вариантов, но я не могу заставить Python читать правильные файлы. Я могу переименовать все файлы, но я хочу, чтобы программа запускалась сама по себе, поэтому переименование всех файлов - это не решение, которое я ищу.

Заранее спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Использовать шаблон glob в демультиплексоре файла изображения :

ffmpeg -framerate 1 -pattern_type glob -i "*.jpg" -r 25 -pix_fmt yuv420p out.mp4
  • -pattern_type glob может не поддерживаться в сборках Windows.
  • Используйте -framerate вместо -r для демультиплексора файла изображения.
  • Я добавил вывод -r, потому что многие игроки не могут обрабатывать частоту кадров 1. Кадры будут дублироваться для перехода с частоты кадров от 1 до 25.
  • Я добавил -pix_fmt yuv420p, который не нужен для mpeg4, но рекомендуется, если вы хотите использовать libx264 для более совместимого формата пикселей.
0 голосов
/ 24 апреля 2018

Вы можете попробовать, как @CoryKramer сказал в своем комментарии. Самый простой способ - найти порядок, в котором вы хотите отсортировать файлы, прежде чем передавать их в метод os.system. Для простоты вы можете переименовать ваши файлы, используя простой bash-скрипт или python-скрипт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...