Skip to content

Automatic batch processor for media archiving purposes written entirely in Python. Parses input file or directory and performs some action (one or many) with every file found according to rules set.

License

Notifications You must be signed in to change notification settings

einsfr/autoarchive

Repository files navigation

autoarchive

Автоматический пакетный обработчик для работы с медиафайлами. Изначально разрабаталывался для нужд архивирования (отсюда и название), но может быть использован и во многих других случаях. Использует Python версии не менее 3.5. Принимает на входе каталог (для которого составляется карта всех файлов) и выполняет некоторые действия, описанные в наборах правил. Выбор правил происходит в первую очередь по соответствию имени и пути к файлу регулярному выражению. Но в дальнейшем возможна фильтрация результата по свойствам самого файла - количеству потоков, разрешению, режиму полей кадра и т.д.

Пример использования

Допустим имеется папка с многочисленными материалами в формате XDCAM. Часть этих материалов нужно сохранить в высоком качестве для долгосрочного хранения. Часть - в низком - на всякий случай. XDCAM не слишком удобен для обработки вручную - множество вложенных папок со множеством отдельных файлов. А если в каждом материале присутствует текстовый файл с его описанием, который тоже нужно сохранить? Получается нудная и однообразная работа. Собственно из неё и родился этот проект.

Допишу позже...

Поддерживаемые источники наборов правил

  • JSON-файлы

Поддерживаемые действия

copy

Копирует файл.

skip

Пропускает файл, ничего не делая - полезно при использовании политик 'warning' и 'error'.

ffmpeg

Использует ffmpeg для выполнения различных обработок. Для работы необходимы исполняемые файлы, которые можно скачать с официального сайта проекта ffmpeg.org). Если бы не он, ничего этого вообще бы не было.

ffmpeg.convert

Конвертирование файла. Обращается к ffprobe для сбора информации о файле (свойства контейнера, потоков, их количество и т.п.) и передаёт её шаблонному движку Jinja2 для использования в профилях конвертирования (шаблонах настроек ffmpeg)

About

Automatic batch processor for media archiving purposes written entirely in Python. Parses input file or directory and performs some action (one or many) with every file found according to rules set.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published