ScreenGen — простой C++ / Qt консольный генератор скринлистов/скриншотов из видео-файлов.
ScreenGen для создания скринлистов использует возможности FFmpeg (ffmpeg-libs), все параметры задаются в командной строке или указываются в конфигурационном файле:
~/.config/screengen/screengen.conf
Файл конфигурации создаётся при первом запуске ScreenGen, в секции "Default" находятся настойки "по умолчанию", есть возможность создавать секции с разными параметрами и указывать их при вызове screengen в опции -preset.
Параметры командной строки (видео файл указывается в качестве первого параметра):
- --preset - Использовать секцию в файле конфигурации (по умолчанию - "Default")
- --presetsList - Показать все секции предустановок из файла конфигурации (все остальные параметры игнорируются)
- --presetInfo - Показать все значения секции предустановок (все остальные параметры игнорируются, пример: --presetInfo MyPreset)
- --frames - Количество кадров в скринлисте (по умолчанию - 16)
- --width - Ширина скринлиста (по умолчанию - 1200)
- --horCount - Кадров по горизонтали (по умолчанию - 4)
- --offsetBegin - Смещение времени от начала (по умолчанию - "00:01:00")
- --offsetEnd - Смещение времени от конца (по умолчанию - "00:01:00")
- --listBorder - Толщина невидимого бордюра скринлиста (по умолчанию - 10)
- --frameBorder - Толщина невидимого бордюра кадра (по умолчанию - 5)
- --shadowOffset - Смещение тени относительно кадра (по умолчанию - 15)
- --shadowInt - Интенсивность тени кадра (по умолчанию - 50, диапазон 10-100)
- --shadowColor - R,G,B цвет тени кадра (по умолчанию - "0,0,0" - чёрный, "255,255,255" - белый)
- --background - Графический файл для фона (если не указано - фон белый)
- --backgroundColor - R,G,B[,A] цвет фона (по умолчанию - "255,255,255")
- --picType - Тип выходного графического файла (по умолчанию - "jpg")
- --header - Создавать заголовок с информацией (по умолчанию - true)
- --timeFrame - Выводить в кадре штамп времени (по умолчанию - true)
- --fontFrameName - Имя шрифта для штампа времени (по умолчанию - "Liberation Sans")
- --fontFrameSize - Размер шрифта для штампа времени (по умолчанию - 10)
- --fontFrameWeight - Тип шрифта для штампа времени (по умолчанию - Normal, (Light,DemiBold,Bold,Black))
- --fontFrameItalic - Шрифт курсивом для штампа времени (по умолчанию - false)
- --fontFrameColor - R,G,B[,A] цвет для штампа времени (по умолчанию - "255,255,255")
- --fontFrameShadowOffset - Смещение тени штампа времени (по умолчанию - 0)
- --fontFrameShadowInt - Интенсивность штампа времени (по умолчанию - 2, range 0-100)
- --fontFrameShadowColor - R,G,B цвет тени штампа времени (по умолчанию - "0,0,0")
- --stampPos - Позиция штампа времени (по умолчанию - "rb" (RightBottom), (rt, lb, lr))
- --fontHeaderName - Имя шрифта для заголовка (по умолчанию - "Liberation Sans")
- --fontHeaderSize - Размер шрифта для заголовка (по умолчанию - 13)
- --fontHeaderWeight - Тип шрифта для заголовка (по умолчанию - Bold, (Normal,Light,DemiBold,Black))
- --fontHeaderItalic - Шрифт курсивом для заголовка (по умолчанию - false)
- --fontHeaderColor - R,G,B[,A] цвет шрифта для заголовка (по умолчанию - "0,0,0")
- --infoShadowOffset - Смещение тени текста в заголовке (по умолчанию - 5)";
- --infoShadowInt - Интенсивность тени текста в заголовке (по умолчанию - 10, диапазон 0-100)";
- --infoShadowColor - R,G,B цвет тени текста в заголовке (по умолчанию - "100,100,100")";
- --headerBackground - Графический файл для фона заголовка (если не указано, используется цвет по умолчанию)
- --headerColor - R,G,B[,A] цвет фона для заголовка (по умолчанию - "255,255,255")
- --headerBorderColor - R,G,B[,A] цвет бордюра заголовка (по умолчанию - "0,0,0")
- --headerBorder - Толщина бордюра заголовка (по умолчанию - 2)
- --foreground - Графический файл для переднего плана (водяной знак) (рекомендуется PNG файл с альфа каналом)
- --aspect - Соотношение сторон кадра на скринлисте (если 0.0 - исходное соотношение, по умолчанию - 0.0)
- --logoFile - Файл картинки логотипа (рекомендуется PNG файл с альфа каналом, прозрачные участки тень не отбрасывают)";
- --logoShadowOffset - Смещение тени логотипа (по умолчанию - 5)";
- --logoShadowInt - Интенсивность тени логотипа (по умолчанию - 10, диапазон 0-100)";
- --logoShadowColor - R,G,B цвет тени логотипа (по умолчанию - "100,100,100")";
- --descr - Произвольный текст, располагается в верхней части заголовка";
- --stampOffset - Смещение штампа времени относительно края кадра (по умолчанию - 3)";
- --outFolder - Папка для сохранения результата (если не указано, сохраняется в текущую папку)
- --frameBoxColor - R,G,B[,A] цвет окантовки кадра (по умолчанию - "120,120,120")";
- --frameBox - Толщина окантовки кадра (по умолчанию - 0)";
- --stampDescr - Произвольный текст, расположенный в кадре";
- --stampDescrPos - Позиция для stampDescr (по умолчанию - "lt" (LeftTop), (rb, rt, lb, lr))";
Пример запуска:
screengen "имя-файла.avi" --preset s5x4 --offsetBegin "00:00:30" --offsetEnd "00:00:10" --listBorder 4
ScreenGen запускается из консоли, а так же из контекстного меню файлового менеджера, созданный скринлист располагается в одном каталоге с видео файлом и с тем же именем файла.
Лицензия: GNU GPL
Комментариев: 6 RSS
1Sema25-12-2012 03:25
Моя попытка собрать пакет screengen для debian здесь //rusfolder.com/34273239
2yrii212117-11-2016 16:48
У программы переехал сайт в tk (//www.kochkin.tk/doku.php/screengen/start).
В Debian 8, без проблем, собирается версия screengen-1.10.dev-20161103 + ffmpeg из bpo.
3chadwick26-08-2018 20:45
К сожалению, не работает --offsetBegin, а без этой настройки первый кадр в скринлисте почти всегда черный и с меткой 00:00:00, хотя по умолчанию должно быть 00:01:00. На GitHub написано, что 'Last compile on Fedora 28 with ffmpeg 4.0 and QT5.10.1', а у меня Devuan ASCII, FFmpeg 3.3.8 и Qt5.7.1. При компиляции было 2 предупреждения, но бинарник собрался и запускается; остальные настройки вроде бы работают, но без --offsetBegin вообще не вариант.
4Gera27-08-2018 15:16
Ставил ради прикола, но работает хорошо вот и оставил.
Обзор про него будет? Стоящая модификация, любителям третьих кед а такде имеющим стапые машинки. Это я типа рекламирую ))
Теперь по теме, согласно Синоптику в нём FFmpeg 3.2.12-1 и Qt 5.7.1, утилита работает нормально, только что проверил. Так как собирать из исходников было лениво, вот этого:
screengen-1.10-0.20161103.1-rosa2016.1.i586.rpmПо поиску в pkgs.org оказалась что в Росе самая свежая версия.
Распаковал пакет и закинул файлик screengen в /usr/bin, запустил в каталоге с видеороликами:
И получил скринлисты пяти mp4 файлов!
5chadwick27-08-2018 22:39
если собрать с qmake-qt4, то заработает
6Anon25-09-2018 16:02
GitHub - //github.com/OlegKochkin/screengen