ShproT Опубликовано 20 марта, 2014 Жалоба Поделиться Опубликовано 20 марта, 2014 Привет! Давненько я тут не был :) Допустим есть видеоролик. Мне нужно сделать превьюшку к нему в гиф. Т.е. нужно захватить несколько кадров на всем протяжении клипа, и слепить их в гиф... Никак не могу найти программу нужную, все что нашел, делает гифку только из определенного отрезка видео, таких гифок во вконтакте полно :) но для меня это не информативно и весит много, да и долго... Хотелось бы , чтоб допустим имея 20 минутный клип, программа каждые 2 минуты вырывала очередной кадр и из них лепила то что мне надо, без лишних заморочек, ну вы поняли :) Если у кого есть на примете подобный софт, буду очень благодарен ) Ссылка на комментарий Поделиться на другие сайты Поделиться
edde Опубликовано 20 марта, 2014 Жалоба Поделиться Опубликовано 20 марта, 2014 https://www.google.by/search?q=%D1%81%D0%BB%D0%B0%D0%B9%D0%B4%D1%88%D0%BE%D1%83&ie=utf-8&oe=utf-8&rls=org.mozilla:ru:official&client=firefox-a&channel=sb&gws_rd=cr&ei=VzgrU8DTIdCUhQe7joHgBw#channel=sb&q=%D1%81%D0%BB%D0%B0%D0%B9%D0%B4+%D1%88%D0%BE%D1%83+%D0%B8%D0%B7+%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B9&rls=org.mozilla:ru:official Ссылка на комментарий Поделиться на другие сайты Поделиться
ShproT Опубликовано 20 марта, 2014 Автор Жалоба Поделиться Опубликовано 20 марта, 2014 не все так просто это все понятно, но задача нарезать с видео кадры автоматически... Поясню - видосов в наличии несколько террабайт, в ручную я это буду делать до глубокой старости поэтому хотелось бы чтоб все выглядело так: настроил программу - выбрал файл - получил готовую гифку. ну или около того... Повторюсь, суть в том, чтоб надергать кадров из всего видео, допустим кадр в минуту или кадр в 2 минуты, а не отрывком от и до. Ссылка на комментарий Поделиться на другие сайты Поделиться
edde Опубликовано 20 марта, 2014 Жалоба Поделиться Опубликовано 20 марта, 2014 (изменено) Movavi может, но не автоматом гигабайты. Чтобы рыбку съесть нужно потрудиться в любом случае Изменено 20 марта, 2014 пользователем edde Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 21 марта, 2014 Жалоба Поделиться Опубликовано 21 марта, 2014 (изменено) Если бы нужно было просто сделать 10-12 секундные превьюшки по первым кадрам видео (а если нужно где-то из середины, то придётся руками указывать где), я бы посоветовал Format Factory, ибо там можно, автоматом. Но поскольку вам требуется: надергать кадров из всего видео, допустим кадр в минуту или кадр в 2 минуты, а не отрывком от и до.то здесь нам помогут 2 замечательные программы - ffmpeg и ImageMagick, а также небольшой скрипт (дабы автоматизировать весь процесс).Вообще ffmpeg умеет самостоятельно преобразовывать видео в GIF-файлы с указанной частотой кадров. Беда в том, что задержка кадров в таком случае вычисляется автоматически в соответствии с исходным файлом (т.е. если указать частоту кадров 1 кадр в 2 минуты, то полученный GIF файл будет и воспроизводиться именно с такой частотой (что, как я понимаю, не есть хорошо). Поэтому всю процедуру мы разобьём на 2 этапа: преобразование видеофайлов в GIF при помощи ffmpeg, а затем в полученных GIF-ках программой Convert, входящей в состав ImageMagick, мы изменим скорость (задержку) смены кадров в этих GIF-файлах. Предварительно нужно закинуть исходные видеофайлы в какую-то одну папку на диске, а также создать отдельную папку для получаемых GIF-файлов. Скачиваем ImageMagick: ссылка, и устанавливаем. К счастью, ffmpeg входит в состав ImageMagick. Теперь запускаем Блокнот (Notepad): Пуск ==> Все программы ==> Стандартные ==> Блокнот. Вводим туда скрипт: for %%a in ("директория_с_исходными_видео_файлами\*.*") do (ffmpeg -ss 00:00:00.000 -i "%%a" -r 1/120 -pix_fmt rgb24 -s 320x240 "директория_с_выходными_gif_файлами\%%~na.gif")for %%a in ("директория_с_выходными_gif_файлами\*.gif") do (convert -delay 100 -loop 1 -layers optimize "директория_с_выходными_gif_файлами\%%~na.gif" "директория_с_выходными_gif_файлами\%%~na.gif")В нужных местах соответственно вписываем свои адреса к папке с исходными видеофайлами и с конечными GIF-файлами.Небольшие пояснения к параметрам: ffmpeg: -ss 00:00:00.000 - время начала анимации. -r 1/120 - частота кадров с секунду. В данном случае выставлено 1 кадр в 120 секунд, т.е. то, что Вы просили. -s 320x240 - разрешение получаемых GIF-файлов. convert: -delay 100 - задержка между кадрами. 100 - это примерно 4 секунды -loop 1 - включить циклическое воспроизведение Сохраняем созданный в Блокноте документ в папке с установленным ImageMagick (это может быть папка вида C:\Program Files (x86)\ImageMagick-6.8.8-Q16), при сохранении указываем расширение имени .bat, затем запускаем его оттуда. Процесс пойдёт. Изменено 21 марта, 2014 пользователем Shadow TH 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
ShproT Опубликовано 21 марта, 2014 Автор Жалоба Поделиться Опубликовано 21 марта, 2014 Воо, огромное спасибо! То, что нужно! Ссылка на комментарий Поделиться на другие сайты Поделиться
ShproT Опубликовано 22 марта, 2014 Автор Жалоба Поделиться Опубликовано 22 марта, 2014 (изменено) Подскажите еще по скрипту, сам никак не осилю... Работает все как надо, но выходные гифки получаются очень уж ограниченные по цветам, а хотелось бы, чтоб качество графики было приближенно к качеству видео.... Прикрепляю пример отдельно взятого результата. Тут правда еще ничего, просто суть... А на некоторых гифках из-за скудности цветов порой не разглядеть что вообще изображено :) И еще почему-то цикличность не работает, проходит все кадры до конца и останавливается... Изменено 22 марта, 2014 пользователем ShproT Ссылка на комментарий Поделиться на другие сайты Поделиться
edde Опубликовано 22 марта, 2014 Жалоба Поделиться Опубликовано 22 марта, 2014 Формат gif имеет ограничение цветовой палитры 256 цветов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 23 марта, 2014 Жалоба Поделиться Опубликовано 23 марта, 2014 (изменено) Работает все как надо, но выходные гифки получаются очень уж ограниченные по цветам, а хотелось бы, чтоб качество графики было приближенно к качеству видео....Сейчас посмотрел, да, действительно. Там далеко не 256 цветов получается. Очевидно, это ffmpeg так уродует цвета. Значит, придётся доверить конвертацию непосредственно в GIF не ему, а ImageMagick: сначала разложить каждый видеофайл на набор png-изображений при помощи ffmpeg (благо в png он экспортирует кадры нормально), а затем уже при помощи утилиты convert собирать gif-файлы. Чтобы не было путаниц, создайте ещё одну отдельную папку - для временного хранения png-файлов. Подредактируем скрипт: for %%a in ("директория_с_исходными_видеофайлами\*.*") do (ffmpeg -ss 00:00:00.000 -i "%%a" -r 1/120 -s 320x240 -f image2 "директория_с_png_файлами\%%04d.png"convert -delay 1000 -loop 0 -layers optimize "директория_с_png_файлами\*.png" "директория_с_gif_файлами\%%~na.gif"del /q "директория_c_png_файлами\*.png")Также сохраняем в bat-файл и кидаем в папку с ImageMagick. И еще почему-то цикличность не работает, проходит все кадры до конца и останавливается...Я, похоже, немного ошибся. В скрипте у Convert нужно у -loop значение 0, а не 1. В приведённом выше скрипте я исправил. Изменено 23 марта, 2014 пользователем Shadow TH 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
ShproT Опубликовано 23 марта, 2014 Автор Жалоба Поделиться Опубликовано 23 марта, 2014 Воо, теперь все отлично! Еще раз спасибо! :) Жаль репутацию поднимать больше нельзя :sm(12): Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 23 марта, 2014 Жалоба Поделиться Опубликовано 23 марта, 2014 Пожалуйста :) Ссылка на комментарий Поделиться на другие сайты Поделиться
gid3574 Опубликовано 12 мая, 2015 Жалоба Поделиться Опубликовано 12 мая, 2015 (изменено) Здравствуйте! for %%a in ("директория_с_исходными_видеофайлами\*.*") do (ffmpeg -ss 00:00:00.000 -i "%%a" -r 1/120 -s 320x240 -f image2 "директория_с_png_файлами\%%04d.png"convert -delay 1000 -loop 0 -layers optimize "директория_с_png_файлами\*.png" "директория_с_gif_файлами\%%~na.gif"del /q "директория_c_png_файлами\*.png") Скажите пожалуйста, можно ли такой скрипт использовать в программе? У меня bat, работает а через программу этот скрипт не работает, получается только один .png файл. Изменено 12 мая, 2015 пользователем gid3574 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 13 мая, 2015 Жалоба Поделиться Опубликовано 13 мая, 2015 Скажите пожалуйста, можно ли такой скрипт использовать в программе?В какой программе? Ссылка на комментарий Поделиться на другие сайты Поделиться
gid3574 Опубликовано 14 мая, 2015 Жалоба Поделиться Опубликовано 14 мая, 2015 В какой программе? Я делаю "для себя" программу, наподобие конвертера файлов и не только,через ffmpeg получается gif, но как написано выше, с искажением цветов. Мне нужно чтоб цвета в gif были нормальные, а разложить видео на кадры тоже не получается, по написанному выше скрипту из всего видео получается только один кадр и все. Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 14 мая, 2015 Жалоба Поделиться Опубликовано 14 мая, 2015 (изменено) А установить loglevel в error для диагностики не пробовали? Может info отключен? Какие сообщения об ошибках? Изменено 14 мая, 2015 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 14 мая, 2015 Жалоба Поделиться Опубликовано 14 мая, 2015 по написанному выше скрипту из всего видео получается только один кадр и все.Судя по всему, в командеffmpeg -ss 00:00:00.000 -i "%%a" -r 1/120 -s 320x240 -f image2 "директория_с_png_файлами\%%04d.png"Вам нужно поменять значение -r. Здесь стоит разбивка по одному кадру на 120 секунд. Если же файлы имеют длительность <= 120 секунд, то в итоге после разбивки как раз должен получиться 1 кадр.Всё зависит от того, какая средняя длительность у всех видеофайлов в Вашем случае. Уже, исходя от неё, следует выставить значение параметра -r. Ссылка на комментарий Поделиться на другие сайты Поделиться
gid3574 Опубликовано 15 мая, 2015 Жалоба Поделиться Опубликовано 15 мая, 2015 Спасибо, будем подбирать параметры, может что и получится. Ссылка на комментарий Поделиться на другие сайты Поделиться
THE OLD VERMIN Опубликовано 15 мая, 2015 Жалоба Поделиться Опубликовано 15 мая, 2015 Не стоит ли разделить эту тему и унести в Поограммирование? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 15 мая, 2015 Жалоба Поделиться Опубликовано 15 мая, 2015 Думаю, нет. Тема по большей части всё же имеет уклон в сторону видео. Врят ли кто-то, зайдя в раздел "Программирование", будет надеяться там найти тему по конвертированию видео файлов в GIF-анимацию. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти