Gif в Телеграм на фото

А теперь о подробностях реализации.

Всё началось с дискуссии в чатике Telegram-разработчиков о грядущей фиче:

Мужик сказал — мужик сделал! Первый прототип на Pillow и svgwrite, разбирающий GIF’ку на пиксели и преобразующий их в векторные квадратики с предпросмотром в SVG, был написан за один выходной.

Веселье началось дальше…

JSON — открытый формат, говорили они.

Доселе с форматами в Telegram то и дело хитрили. Сделали поддержку GIF-анимаций — на самом деле они конвертируются в MP4-видео. Сделали поддержку стикеров — выгружаются они в PNG, но преобразуются в WebP. В этот раз всё честнее: что на входе, то и на выходе.

Для анимированных стикеров в Telegram используется не GIF, не видео, и даже не какой-нибудь устоявшийся формат векторной графики типа SVG или — упаси Ктулху! — Flash. В нём задействован новомодный формат, вышедший из-под крыла Airbnb — Lottie. Доселе он имел некоторую известность в среде мобильных разработчиков, но благодаря Telegram, возможно, обретёт бо́льшую популярность.

Как сделать GIF на iPhone

По сути своей, файлы Lottie являются сериализованными в JSON проектами Adobe After Effects, по максимуму реализующими все возможности этой программы. С отображением, увы, всё не так радужно. Хотя готовых «официальных» реализаций библиотеки для рендеринга Lottie и много, как раз под покрываемые Telegram платформы: Android, iOS, Qt и Web — лишь часть из возможностей формата реализована во всех из них. В Telegram пошли ещё дальше и ограничили перечень поддерживаемых возможностей, а также «придумали» свой формат, который отличается от обычного Lottie всего лишь упаковкой в GZip и параметром «tgs»: 1 . Кажется, я знаю, где сейчас работает Денис Попов! 🙂

И если с документацией на библиотеки для разных платформ всё довольно неплохо, то найти хоть какое-то описание устройства формата, увы, не удалось — только JSON-схему в исходниках lottie-web. Пришлось попутно ковыряться в существующих анимациях, дабы понять общие концепции формата. Также обнаружились расхождения реальных файлов со схемой: в частности, в слоях типа 4, согласно схеме, вложенные объекты хранятся в свойстве «it» — однако в реальных файлах ключ называется «shapes» , а «it» не работает.

Выясненные нюансы формата:

  • Файл состоит из слоёв. В отличие от GIF, здесь у каждого слоя может быть произвольное время начала и конца отображения. К слою можно (точнее, нужно) применять различные трансформации: масштабирование, повороты, изменение прозрачности и т.д. Слои могут быть даже трёхмерными (запрещено для Telegram).
  • Слой состоит из «фигур» (shapes). Типов у них много, некоторе нельзя использовать в Telegram. На практике, чтобы слой отобразился, он должен включать три фигуры: контур (в готовых анимациях это обычно тип «sh» — кривые Безье; конвертер пока использует только тип «rc» — прямоугольники), заливка (тип «fl» ) и трансформация (тип «tr» ).
  • Можно даже включать растровые элементы, создавать текстовые слои, устанавливать взаимосвязи параметров слоёв и фигур через выражения. Вся эта вкуснотища также запрещена в Telegram.
Еще по теме:  Красивый цветной шрифт на английском в Телеграмме

Казалось бы, это и не проблема вовсе? Даже простенький GZip неплохо справляется со сжатием вопиюще повторяющихся данных, и 1 МБ сырого JSON магическим образом превращается в пару десятков килобайт, которые спокойно пролезают в заявленное ограничение в 64 кБ. Не тут-то было!

Загружаю я, значит, пухленькую анимацию, которая спокойно отображается lottie-web, в Telegram — и тут вместо условно красивого пиксель-арта на меня смотрит статическое размазанное вот это:

Что такое?! А оказалось, на разжатые данные тоже есть явно не указанное ограничение в 1 МБ. Представитель команды Telegram оперативно подтвердил его и сообщил о грядущем поднятии лимита до 2 МБ.

Даже если эти проблемы решат — стикеры, выходящие за пределы 1 МБ несжатых данных и не содержащие трансформаций, окажутся недоступными для пользователей старых версий Telegram. Так что придётся, видимо, соблюдать ограничения и впредь.

Прозрачность — это важно

Pillow, наряду с OpenCV, можно назвать индустриальным стандартом для обработки изображений в Python. Мало того, он неплохо заточен и под особенности GIF: поддерживает индексированные цвета, даёт доступ к палитре. Поддерживает преобразование пиксельной карты в NumPy-массив, что важно для продуктивной обработки. Даже статистику по цветам собирает! Но обнаружились и минусы:

  1. Не нашлось задокументированного способа получить индекс прозрачного цвета. Пришлось в качестве временного решения подразумевать, что прозрачный цвет — самый распространённый, но в реальных GIF’ках это не всегда так.
  2. То же самое с задержкой между кадрами: Pillow отдаёт только сами кадры как последовательность изображений, без информации о задержках.
  3. Иногда некорректно накладываются частичные кадры.

Прозрачность, как оказалось, gif2numpy не поддерживает вообще: цвета сразу преобразуются в три канала с разрядностью в байт, без учёта разрядности и сохранения индексов цветов. Благо, модуль состоит из одного файла, так что не составило труда включить его в проект и доработать, зарезервировав под прозрачность цвет #FE00FE .

Проблему с частичными кадрами решить оказалось нетривиально. gif2numpy пытается накладывать такие кадры на предыдущий, однако не проверяет параметры наложения, из-за чего также не всегда выходит правильный результат. Дабы не возиться с флагами, добавлена предварительная обработка изображений с помощью gifsicle с ключом —unoptimize — он преобразует частичные кадры в полные. А заодно приводит их к использованию глобальной палитры, что устранило необходимость отдельным образом обрабатывать прозрачный цвет при использовании собственной палитры кадра.

Сожми меня сильнее

Квадратики — это хорошо, но с такими ограничениями нужно проявить больше фантазии, иначе в Telegram не «пролезают» даже миниатюрные GIF’ки.

Первым в ход пошло нечто похоже на RLE : соседние по горизонтали квадратики одного цвета объединяются в один прямоугольник.

Далее — черёд эксплуатации особенностей Lottie. Поскольку каждый слой имеет произвольное время начала и конца — можно применить технику, которая давным-давно используется видеокодеками, и отчасти в самом GIF: квадратики, которые остаются на одном месте в течение нескольких кадров, можно слить в один слой, во время отображения которого сменяется несколько других. Что и реализовано, пока только для пар соседних слоёв.

Планы по развитию

Идей, которые здесь можно применить, навалом:

  • Распознавать одноцветные области любого размера. Можно разбивать их на набор прямоугольников, для чего есть неплохой алгоритм. Также целесообразно преобразовывать их в контур, но это омрачается необходимостью указывать все точки кривых Безье в Lottie — прямоугольниками в некоторых случаях может быть выгоднее.
  • Распознавать движение. Техника, опять-таки, издревле применяющаяся в видеокодеках. Если один и тот же контур не меняет форму от кадра к кадру, но лишь координаты — стоит вместо дублирования на нескольких слоях поместить его на один слой с трансформацией.
  • Распознавать «накрытие» одних областей другими. Пример:
Еще по теме:  Как найти в Телеграмм где писал сообщение в группе и вышел из нее

. .O..O. . .OOOO. .

Ссылки

  • Исходники. Местами страшные.
  • Канал, на котором я выкладываю паки успешно сконвертированных GIF’ок.

Источник: habr.com

Gif for Telegram

Gif for Telegram иконка

Share the best Gif images with your friends in Telegram.

Best Gif for Telegram simple and fast app let you acces to millions of new Gif images everyday. Explore and share funny gif with your friends around the globe in Telegram. Too many topic with unlimited fun.

Best Gif for Telegram has 2 powerful tools, You can create your own gif image by converting a video or combine multiple images in to animated Gif.

Best Gif for Telegram has clean and very simple interface.

Download Best Gif for Telegram app now ! explore new Gifs, share on Telegram, convert Gif from video, create Gifs from images or download Gifs in your smart phone.

Что нового в последней версии 1

Last updated on 02/06/2017

Minor bug fixes and improvements. Install or update to the newest version to check it out!

Источник: m.apkpure.com

Как поставить анимированную аватарку или видео в Телеграмме

Видео на аву в Telegram

Новости

Автор Sergey На чтение 4 мин Просмотров 23.3к.

Летом 2020 года в Telegram добавили возможность установки анимированных фотографий профиля. Для этого нужно перейти в специальное меню и выбрать файл. В инструкции разберемся, как поставить видео на аву в Телеграмме с помощью телефона или компьютера.

Как установить анимированную аватарку в Telegram

Поставить видео в Телеграмме на аватарку можно бесплатно в любое время. Для этого не придется загружать сторонние сервисы или выполнять сложные настройки. Все инструменты уже есть в меню мессенджера, воспользоваться ими может каждый.

Анимация вместо классической авы в Telegram поможет лучше показать свой профиль. Так можно подробнее рассказать о своем бизнесе или просто показать лицо со всех сторон.

Обратите внимание. Если используете старую версию мессенджера, поставить видео на аватарку в Телеграмме не получится. Для продолжения работы проверьте обновления или установите самую последнюю сборку Telegram.

Требования к аватарке

Прежде чем приступать к настройке, поговорим о требованиях. Установить в качестве авы можно фрагмент длиной до 9-10 секунд. После обновления мессенджера этот параметр может меняться. Выбирать нужно файлы в формате MP4. В нем смартфоны записывают видео, конвертировать ничего не нужно.

Какие правила стоит соблюдать при установке авы:

  • не устанавливайте GIF с запрещенным или неприятным материалом;
  • не используйте материалы, способные спровоцировать конфликт или неприязнь;
  • пропаганда запрещена;
  • использование логотипов запрещенных организаций также не приветствуется.

В случае нарушения правил, служба безопасности Телеграмма может временно или навсегда заблокировать аккаунт. В этом случае пользоваться мессенджером не получится.

Также можно получить жалобу от пользователя, в этом случае при выявлении нарушений аккаунт будет заблокирован.

Как установить видео на аву в Телеграмме

Установить видео на аву в Телеграмме можно за несколько секунд. Просто откройте меню с настройками аккаунта и тапните по специальной клавише. Выбрать живую фотку можно из галереи телефона.

Рассмотрим подробнее, как поставить живой аватар в Telegram с помощью разных устройств.

На телефоне

Для начала рассмотрим шаги для смартфона с Android:

  1. Перейдите в настройки. Для этого нужно сначала тапнуть по кнопке с полосками, затем нажать на соответствующую клавишу в меню. Настройки Telegram
  2. Тапните по клавише для выбора новой картинки профиля. Также можно нажать на три точки сверху справа и выбрать аналогичную кнопку.
  3. Откроется галерея, пролистайте файлы и нажмите на нужный.
  4. Если нужно записать ролик с помощью камеры, включите ее, как показано на скриншоте. Нажмите на камеру
  5. Когда выберете ролик, откроется редактор. В нем настройте нужный участок, при желании добавьте эффекты с помощью инструментов снизу.
  6. Сохраните изменения с помощью галочки снизу справа. Окно с параметрами
Еще по теме:  Гет контакт проверить номер Телеграмм

Новая аватарка применится через несколько секунд. Ее смогут посмотреть все абоненты. Если хотите запретить просмотр для незнакомых людей, перейдите в настройки конфиденциальности и выберите соответствующий пункт.

Как поставить видео на аву на Айфоне:

  1. Тапните по шестеренке снизу справа.
  2. Выберите кнопку «Изм.», она находится около текущей фотки профиля.
  3. В новом окне выберите файл.
  4. Отредактируйте видимую область и выберите фрагмент видео с помощью редактора.
  5. Выберите статичную аву, это делается с помощью бегунка на таймлайне.
  6. Тапните по галочке снизу, чтобы сохранить все изменения.

На Айфоне и Андроиде поставить видео на аватарку в Telegram можно за несколько секунд. Интерфейс отличается, но не сильно. Панель с инструментами позволяет не только обрезать ненужные участки, но и добавить смайлик, подпись.

Важный момент. Если файл не поддерживается Telegram, на экране может появиться ошибка.

На компьютере

Как поставить видео на аватарку в Телеграме с помощью компьютера? В 2022 году такую возможность не добавили. Если открыть меню для поиска файлов, в проводнике отображаются только фотографии, выбрать видеоролик нельзя.

Если хотите поставить живую картинку на фото профиля в Telegram, используйте смартфон или планшет. Настройка применится на всех синхронизированных устройствах, в том числе и на ПК.

Если нужный файл хранится только на ПК, просто скиньте его в чат «Избранное», затем перейдите в смартфон и найдите ролик. После этого можно открывать настройки в мобильнике и выбирать нужный файл, который только что хранился на компьютере.

Совет. Продолжайте устанавливать обновления мессенджера, возможно, функция появится и на ПК.

Можно ли установить несколько анимированных аватарок

Как поставить видео на аву в Телеграмме, теперь понятно. Для этого подойдет смартфон или планшет на операционной системе Android, iOS. Используйте эту опцию, чтобы немного больше рассказать о себе или о своем бизнесе.

Поставить несколько живых фоток можно. Для этого по очереди выбирайте их в галерее и сохраняйте изменения.

Если не получается выбрать ролик из галереи, убедитесь, что он в формате MP4. Для конвертирования файла в нужный формат можно использовать бесплатные онлайн-сервисы или приложения, доступные в магазинах App Store, Play Market.

Сохраните инструкцию в закладки браузера, чтобы воспользоваться ей в любое время.

Источник: telegramas.ru

Рейтинг
( Пока оценок нет )
Загрузка ...