Pull to refresh

Comments 17

Забавная утилитка, побаловался.

Огорчу, что ваше решение с поиском Magick++ у меня не заработало. В Debian/Ubuntu скрипт Magick++-config теперь прячут глубоко. Однако, вроде пишут, что теперь принято использовать pkg-config. Я перекроил ваш CMakeLists.txt, чтобы работало с ним.

По коду — если вы не против C++11/C++14 (особых причин не должно быть =) ), то можно вместо итератора использовать range-for. Ну и списки инициализации в конструкторах полезны, лучше их использовать.

Ловите два PR.
Спасибо. У меня на маке ваш cmake не взлетел). Оставлю свой.
Это потому что вы Magick++ скачали, судя по "/usr/local". Попробуйте пакет поставить, тогда pkg-config будет в курсе, где что находится. Если у вас Linux, конечно. В Debian название такое: libmagick++-dev

PS. Вы оба коммита вмёржили, если что =)
А, только теперь заметил словосочетание «на маке». Вероятнее всего, у вас нет pkg-config, или он не может найти Magick++.
Именно, все равно спасибо за с++11 =)
А не подскажите как с производительностью у extract_frames? Есть идея выдирать кадры и отрисовывать из по-одному на экране (очень своеобразный плеер нужен).
Она расчитана на небольшие видео ~100 mb. И именно нужно получение на выходе gif файла.
Современные технологии идут к обратному — gif преобразовывать в видео, чтоб весил меньше и работал лучше. Размеры не сравнивали исходного и итогового?
Сравнивал, гифка получается больше, но это под определенную задачу утилита:) У друзей есть сайт, на котором видео с двачей парсятся и я туда приделаю кнопочку, которая будет выплевывать гифку.
PS а как нормально сделать из гифки видео, если она не хранит голосовую дорожку?
А зачем в итоговом видео звуковая дорожка? Пример. 3.4 MB против 46.7 MB. Просто «гифка», которая на самом деле видео. А вот другой пример. Вы знаете как к гифке приделать паузу и воспроизведение по клику? gif хорош, но не везде где его используют, в частности для видео он плох.
Denai говорит о том что gif анимация это очень плохо.
gifs-make-me-puke.mp4
Быстро протестил как дела у ffmpeg:

Рабочий bash
ffmpeg -y -t 10 -i SampleVideo_1080x720_10mb.mp4 \
	-vf fps=10,scale=320:-1:flags=lanczos,palettegen gifPallet.png


ffmpeg -y -t 10 -i SampleVideo_1080x720_10mb.mp4 -i gifPallet.png -filter_complex \
	"fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output2.gif


Во-во. Тащить за собой гигантский opencv, который, в свою очередь, использует тот же ffmpeg, как-то, мягко говоря, оверкилл… почему бы не использовать чистый ffmpeg?
Я так понял что это проект 4 lulz & exp
Вообще я хотел это дело использовать дальше на сайте у друзей, что бы гифку генерить. Но и то, что вы написали тоже) Для опыта и что-бы скилл в плюсах подтянуть.
Кто как не мы, когда как не сейчас.
Sign up to leave a comment.

Articles