С ходу — контекст.
Чуть больше месяца назад на Пикабу был пост про завершение работы ICQ. В комментариях промелькнуло, что в Телеграме есть набор премиум-эмодзи с Колобками. Он у меня, конечно, был изначально, но это были не те Колобки, потому что я привык к набору из QIP 2005/Infium и хотелось найти именно их. Но оказалось, что их не существует. Существовали только вот такие:
Проблем с этим набором хватает:
1. Здесь не все Колобки из QIP, плюс есть те, которых в QIP не было.
2. Урезанная версия Колобка, который бьётся ап стену.
3. Автор даже не попытался сохранить привычный порядок смайликов.
Короче, надо делать свой набор.
В общем, всё началось с моего коммента:
У меня есть этот набор. Но колобков было сильно больше, чем 51. Порядок не тот. И анимация урезана сильнее, чем доступные в Телеграме 3 секунды.
Крч это натолкнуло меня на мысль сделать более проработанный эмодзи-пак. А это всё не то.
Займусь послезавтра, как выходной будет.
Написан он был больше месяца назад. Я тогда думал, что времени на нормальный набор премиум-эмодзи уйдёт ну три-четыре дня по вечерам. Как же я ошибался!
Во-первых, свободное время: его почти не было. Основная работа, доп. работа, важные дела по дому (пока шла работа над набором эмодзи, я успел заменить свой старый самодельный рабочий стол на новый самодельный рабочий стол).
Во-вторых, производство самого набора эмодзи.
Здесь я столкнулся с кучей проблем. И расскажу я о них уже как о просто процессе производства.
Этап 1
Чтобы сделать набор эмодзи с Колобками из QIP, нужно было скачать QIP. Скачал, установил, в файлах программы нашёл папку с Колобками. Первая проблема: они нарисованы для белого фона. Т.е. по краям каждого смайлика были жуткие белые пиксели, примерно вот так:
Беда в том, что это анимация. А значит, чистить нужно будет каждый кадр отдельно.
Чтобы этим не заниматься, пришлось лезть в интернет и искать для каждого из 105 Колобков вариант для тёмного фона, без белых пикселей. И удалось найти не все. Примерно 75-80 смайликов я найти смог, а ещё около 25 просто не существовали в варианте для тёмного фона. И я занялся удалением белых пикселей. Где с помощью трюка с альфа-каналом в Фотошопе, где просто вручную, правя каждый пиксель на каждом кадре. А кадров порой было много. Плюс преобразование белого цвета в прозрачность иногда удаляло нужные белые пиксели и их также приходилось восстанавливать вручную, рисуя каждый пиксель по отдельности на каждом кадре. И так около 25 раз.
С горем пополам я добился того, что у меня есть 105 очищенных от белого фона анимированных Колобков.
Этап 2
Одно из требований Telegram для премиум-эмодзи: разрешение файла 100×100 пикселей. Окей. Записал в Фотошопе два макроса на увеличение разрешения для вытянутых по горизонтали и по вертикали Колобков. Прощёлкал эти макросы 105 раз. Можно конвертировать в нужный для Telegram формат. Или нет?
Этап 3
И тут наступает абсолютная, невероятная, хтоническая боль.
Ещё требования Telegram для премиум-эмодзи: видеофайл длиной до 3 секунд и с 30 кадрами в секунду.
Я столкнулся с тем, что ни одна программа, ни один онлайн-сервис не умеет по нажатию одной-двух кнопок просто конвертировать GIF в любой видеоформат в 30 fps и ужать его продолжительность до 3 секунд! Везде можно было поменять именно скорость видео, причём в процентах от исходной! Нельзя втупую указать программе, что вот тебе 3 секунды, вжимай в них видео как хочешь.
Честно говоря, поиски способа сделать такое преобразование заняли самое большое количество времени. И для этого мне пришлось изучать Adobe After Effects (до этого я им ни разу не пользовался).
В After Effects я закидывал каждый файл и проделывал одни и те же действия 105 раз:
1. Выставить параметр «Растягивание по времени» на 3 секунды, если анимация длится дольше 3 секунд.
2. Выставить fps композиции на 30 кадров в секунду.
3. Обрезать длительность композиции до 3 секунд.
Если же анимация длится меньше 3 секунд, то приходилось подбирать длительность анимации так, чтобы последний кадр проигрывался полностью. Он почему-то обрезался по времени. Таких смайлов было процентов 30.
Далее — экспорт каждого из 105 смайлов в видеоформат, поддерживающий альфа-канал, т.е. прозрачность. И да, я знаю про плагин Bodymovin-tg, который сам сохраняет файл в готовом для Telegram виде. В моём случае он не работал, потому что он не умеет переваривать сжатые по времени файлы.
Поэтому я воспользовался программкой FormatFactory, которая умеет конвертировать видео в *.webm с кодеком VP9, и просто втупую конвертировал все 105 Колобков.
Результат:
Kolobki QIP 2005 (клик по ссылке для установки)
Полноценный набор премиум-эмодзи «Колобки» прямиком из QIP. Все 105 смайликов. Именно в том порядке, в котором они были изначально. Даже имена файлов я сохранил: aa, ab, ac и так далее.
У некоторых смайлов получилась немного кривая анимация (утеряны паузы) — я переделаю их и заменю уже по факту.
Часть смайлов сильно ускорена — тут ничего не поделаешь, нужно было укладываться в 3 секунды любыми путями.
Также у них прыгают размеры — опять же, нужно было вписываться в квадрат 100×100 пикселей.
В комментариях я тегну всех, кто об этом просил.
Я старался не только для себя — для всех тех, кому хочется хотя бы на чуть-чуть вернуться в славные асечные времена.
P.S.: В скором времени я начну работу над вторым набором эмодзи, потому что есть Колобки, которых не было в QIP, но которые активно использовались на форумах и которых мне тоже не хватает. Запихивать их все в набор из QIP тоже было бы неправильно. Поэтому — будет ещё один.