Комментарии 107
WebP еще, но Mozilla артачилась много лет: https://bugzilla.mozilla.org/show_bug.cgi?id=600919 + https://bugzilla.mozilla.org/show_bug.cgi?id=856375
Сейчас Google пилит поддержку APNG: https://bugs.chromium.org/p/chromium/issues/detail?id=1171
Mozilla всё-таки перестала корчить из себя слоупоков и начали пилить WebP: https://bugzilla.mozilla.org/show_bug.cgi?id=1294490
А ведь они правы. Я любил старую Оперу за то, что можно было сделать на панельке флажок разрешить/запретить GIF-анимацию. И в норме он был снят.
Gif вообще не нужен, когда у нас уже есть webm и его поддержка практически во всех браузерах. Webm при сходном качестве занимает в 5-15 раз меньше, меньше нагружает процессор при декодировании, в него можно добавить звук. Не понимаю аргументов о том, что .webm-файлами нельзя делиться так же просто, как и .gif. В чем разница-то?
WebM как минимум не поддерживается safari и большиенстве версий IE.
Про поддержку браузерами вы правы — webm не поддерживается в Safari (на десктопе и мобильных устройствах) и в Internet Explorer.
По моему мнению, использовать какой-то сторонний сервис для вставки короткого видеофайла — верх дебилизма.
А кто пользователи этих gifок? Помимо гиков — обычные блогеры и пользователи сети. Как объяснить какому-нибудь среднестатистическом блогеру, что чтобы вставить видео, которое будет как гифка, нужно скачать три encodera, использовать только особые параметры кодирования, всё это запихнуть в тэг который состоит из ещё нескольких тэгов… Короче обычному пользователю это не дано.
Поддержки MP4, напротив, нет в некоторых браузерах по умолчанию на некоторых платформах. Например, в Firefox под Linux.
Разве гифки многие делают? В том смысле, что у блогера, вероятнее всего, уже будет либо гифка, либо webm-файл, ему не нужно их делать из чего-либо.
Обычному пользователю, как правило, не нужно думать о вставке HTML-кода. В случае с картинкой это какой-нибудь <img>LINK</img>
, с видео тоже что-то вроде <video>LINK</video>
, если речь идет о блоггинг-платформах.
А кодируется webm проще простого:
ffmpeg -i исходный-файл выходной-файл.webm
Will work in IE9+ and Safari/MacOSX provided the user has the WebM codecs installed.И в последней версии Edge поддержка тоже имеется. Но вы, безусловно, правы, у gif поддержка гораздо шире, но нужны ли они? Для картинок есть PNG и JPEG, для видео — WebM и H.264@MP4. Часто ли вы встречаетесь с какими-либо GIF-анимациями в реальности?
Ну, и webm — это не лучший формат для анимации. Вот нужно приложить в статью анимацию принципа работы двигателя внутреннего сгорания, алгоритмы сжатия видео будут нещадно мылить однопиксельные линии и портить цвета. Webm хорош для анимации из сложных «фото» кадров, а webp/apng графических примитивов, в принципе такая же история как «png vs jpg». И пока не будет формата для последнего, gif вряд ли умрёт, т. к. занимает эту нишу.
Но зачем? Зачем всё усложнять?
Полностью согласен, что .gif нужно закопать, но вы здесь рассуждаете как создатель контента/администратор. Разумеется, если на сайт надо добавить анимацию, то о .gif сегодня не может идти и речи. Но есть и другая сторона — пользователи. И с их стороны всё не так очевидно, и на это даже есть ряд объективных причин:
- .gif ведёт себя 100% предсказуемо:
- зацикливание,
- отсутствие звука,
- отсутствие элементов управления;
- .gif — это цельный файл, а значит его можно скачать в два клика, в отличии от css/.svg анимации или видео. На счёт видео не всегда, сейчас проверил и местами не отличается от .gif.
- В локальной коллекции .gif гораздо удобнее смотреть практически любым просмотрщиком — то же листание, что и статичных картинок. С видео опять же всё сложнее. К примеру, у штатного плеера сразу нужно не забыть включить цикличный просмотр и закинуть коллекцию в плейлист, иначе придётся открывать каждый файл отдельно.
- Возможно, самая главная причина: видео гораздо проблематичнее делиться на большинстве площадок, если они специально не адаптированны для «.gif-видео»:
- форумы (да, ими ещё пользуются; имиджборды сюда же),
- разделы комментариев,
- мессенджеры;
Ответьте себе, когда вы на форуме/разделе комментариев в последний раз видели возможность вставить видео? Пожалуй, никогда. А картинки можно. Везде. А значит, и .gif 100% пролезет, если админ специально их не запретил, т.е. 95% случаев. Так и живём.
И ещё не забываем про силу привычки и консерватизм. Сколько с нами .gif, лет 150 уже? Не удивлюсь, если археологи вместе с костями динозавров откопают «гифку», а .webm ещё даже не все браузеры поддерживают. И пока во всех вышеперечисленных случаях .gif не убьёт конкурент (один, совместимый со всеми браузерами и, желательно мимикрирующий под картинку), эту заразу из веба не вывести. И, скажите спасибо, что в отличии от флеша .gif хотя бы не дырявый, а просто тормозной, толстый и уродский.
Уж кто-кто, а имиджборды, пожалуй, сделали для распространения .webm столько же, сколько анимешники для поддержки mkv и ass-субтитров в железных плеерах.
На форумах, на которых я бываю, можно вставлять видео, но, правда, только ссылкой на Youtube, Vimeo и подобные сервисы, здесь вы правы.
А с мессенджерами вы что имеете ввиду? Не генерируется превью для webm?
Под мессенджерами я имел в виду всю совокупность приложений/сервисов текстовой коммуникации (или где есть возможность писать текст) — от веб-чатов и эл. почты до Skype, icq, Telegram… Я, на самом деле, пользуюсь лишь немногими из них и за все не ручаюсь, но интуиция подсказывает, что в большинстве можно с лёгкостью вставить .gif (если картинки вообще предусмотрены), и только в малая часть поймёт .webm. Возможно здесь я ошибаюсь.
Тем не менее, у .gif легаси-поддержка превосходная, в то время как .webm без фоллбека до сих пор внедрять нельзя.
Ну и, раз уж здесь пишу.
Все проблемы .gif уже можно было бы решить несколько лет назад с помощью .apng, если бы webkit (в лице Google) не решил запилить вместо него ублюдочный костыль под названием webm. Не подумайте, что я ненавижу webm как таковой (на самом деле это прекрасный видео формат, рекомендую), но это именно костыль здесь, по своей природе. Ибо изображение заменили видео, что притащило все вышеперечисленные мной проблемы. Но, поскольку доля рынка webkit огромна, то теперь приходится городить огород из кодеков и фоллбэка, выпиливать управление и т.д., когда можно было бы просто добавить .apng в приоритет, а .gif оставить для совметимости на первое время. Простите, наболело.
Gif до сих пор отлично подходят для визуализации чего-либо, вот как, например, в этой статье с объяснением RLE — 200 КБ — относительно много, но не дохрена, выглядит хорошо, процессор не нагружает.
Но многие же вырезают отрывки видео и превращают их в gif, для чего он совсем-совсем не подходит: и выглядит плохо, и процессор жутко нагружает, и весит слишком много. Здесь-то и видеоформаты и нужны, и apng в этом случае тоже особо бы не помог.
Вопрос скорее к ублюдочной политике компаний разрабатывающих браузеры, вот почему они не хотят поддерживать прогрессивный, открытый формат свободный от лицензионных отчислений?
А во вконтакте специально накладывается div на video, чтобы нельзя было вызвать меню по правому клику.
На слабых каналах и маломощных устройствах особо толстые гифки сначала грузятся, а потом многда начинают идти вовсе не с начала, а с того места, до которого они бы докрутились за время прогрузки. Сидишь и ловишь момент, когда она закольцуется, чтобы таки посмотреть с начала.
Складывается ситуация, когда «формат, который поддерживается почти везде» вынуждает ставить в браузеры дополнения, добавляющие возможность поставить гифку на паузу или воспроизвести с самого начала.
По теме: даже вынос в отдельные расширения — затраты ценного времени программистов, которые могли сделать что-то действительно нужное.
Хоть и не лучший вариант, но подходит webp который умеет анимацию и кодирует (всмысле может перекодировать или создавать) «гифки» тем же VP9 что и в webm. Подошли бы и bpg с flif, но на данный момент только у webp есть более менее массовая поддержка браузерами (60-70%)
И начиная с ios 10 и macOS в safari будет поддерживаться webp (в бетах уже работает)
А на ресурсе за давностью лет или просто потому, что материал «устарел/неактуален» по мнению автора материала уже нет.
Да, есть места где видео на порядки более правильно использовать.
Но не надо убирать GIF'ки там, где они использованы «к месту».
Если допилят PNG или аналог — да мы всеми руками «за!», вот только уже много лет пророчат смерть GIFа, а он живее всех живых.
И да. Что делать с уже созданными GIFками, у которых уже давно нет «оригинала»? конвертировать? А потери качества? Или может еще больше «весить» начнет, если «без потерь качества» делать…
В GIFке иногда попиксельно рисовали/исправляли для «идеальной картинки»
многие браузеры его поддерживают
А браузеры, занимающие большую часть рынка (IE и Chrome) — увы, нет. Для Chrome есть расширение, однако, большая часть пользователей (по данным телеметрии Firefox, но полагаю, что это справедливо для всех браузеров) не устанавливает никакие расширения вообще.
Как по мне, то Мозилле не стоило даже начинать делать apng — всё равно разработчики формата png изначально не желали в нём анимации, вот и не включили изменения в libpng. Сделали бы удобный формат с нуля и было бы всем счастье.
На мобильниках, где дорог каждый мегабайт, одна гигантская гифка может отъесть приличный кусок вашего месячного трафика.
Что только что сделала эта публикация.
И вот в этой области остается только надеяться на MNG и APNG. Конечно, есть еще вариант с JS+CSS, но он сложнее.
Смотря для кого. Мне, например, написать пару строк кода проще, чем узнавать, в каком редакторе делаются гифки, скачивать и ставить этот редактор, потом ещё мышкой рисовать (какая гадость).
Вон тот череп комментом ниже (https://geektimes.ru/post/279960/#comment_9544302 )
— как его сделать на голом CSS, без прорисовки кадров?
А простая анимация с количеством кадров в единицы делается либо смещением позиции фоновой картинки, либо (что более часто) каким-то простым стилевым эффектом.
На вкус и на цвет…
Что делать, если «художник так видит»?
И не обязательно череп же, на его месте могло быть что-то вполне подходящее под понятие «стильность».
Но пока это не стало зафиксированным стандартом — «пусть цветут все цветы».
http://rabota-8000.netdo.ru/filemanager/d0bad0bdd0bed0bfd0bad0b0-d180d0b5d0b3d0b8.gif
http://serblog.ru/wp-content/uploads/2011/02/knopka.gif
Хотя мне по большей части попадались не так агрессивно моргающие — просто иногда по кнопке пробегал блик.
Как это будет выглядеть для первой приведённой ссылки? Сильно подозреваю, что всё равно циклическая смена заранее отрисованных кадров (в данном случае двух, но это непринципиально).
Каким CSS эффектом можно сделать такое, я не представляю. Я не утверждаю, что это невозможно — может, просто находится за пределами моих представлений, ограниченность каковых я вполне осознаю.
(По второй-то понятно — менять opacity)
И вообще, эти ссылки я привёл, как контрпримеры к «Поблескивающие кнопки встречал только на флеше».
И всё равно, можно найти пример, где таки понадобится серия кадров. (Оставим в стороне вопросы юзабилити и вырвиглазности)
Но признаю, это ну очень узкая ниша, с ходу даже и пример нормальный не подберёшь.
В какой-то момент, возможно, Giphy сможет заменить гифки не каким-то альтернативным форматом или GIFV-подобной смесью гифок и видео, но самим собой.
Мне показалось крайне странным, что автор противопоставляет целому формату (причем открытому) какой-то сторонний сервис со своим лицензионном соглашением и правилами. Для меня это звучит крайне дико и равносильно заявлениям вида «youtube сможет заменить mp4-видео собой» или «imgur заменит jpg» — возникают вопросы о том, что же творится в голове у автора.


Для чайников новые сервисы очень удобны, поскольку позволяют ни о чем не думать а тупо использовать предлагаемые возможности.
А для тех кто пытается создавать серьезную политическую сатиру это смертельно, потому что нет безымянности, автора легко вычислить а само изображение удалить, ведь оно имеется только в пространстве контролируемом сервисом.
Да, *.gif староват, но это свобода.
«Те, кто готовы пожертвовать насущной свободой ради малой толики временной безопасности, не достойны ни свободы, ни безопасности.» Benjamin Franklin
Другое дело, что гиф плохо приспособлен для отрисовки картинок с плавными переходами, — там появляются ступеньки или шумы, которые очень плохо жмутся. А если эти ступеньки-шумы различаются между кадрами, то инкрементные кадры будут не менее пёстрые, чем ключевые.
Фактически, нужен специальный и очень продвинутый кодер для того, чтобы качественно жать видео в формат гиф.
И при этом, на выходе всё равно получать картинку с артефактами — следствием маленького динамического диапазона.
У bpg, например, используется x265 кодек
http://bellard.org/bpg/animation.html
Так-то, какая разница, apng, bpg или вообще mpeg.
Так-то, какая разница, apng, bpg или вообще mpeg.mpeg то тут каким боком?
Я говорил не про «ещё один формат анимации», а про то, что сделать эффективный анигиф можно, но это будет дорого, (но, скорее всего, всё равно зернисто).
Не надо ничего делать, уже есть формат, который делает не зернисто и даже поддерживается браузерами
bpg, flif или webp не контейнер для видео и не «еще один формат для анимации», это варианты на замену jpeg+png+gif в одном лице
Например, bpg кодирует картинку с помощью x265 и результат получается лучше чем у webp, который использует кодек VP9, но webp поддерживается, bpg нет. В обоих случаях на выходе получается картинка, которая весит меньше jpg при том же качестве, но так как поддерживается анимация, то можно создавать анимацию намного лучшего качества и меньшим весом чем гиф или apng
И так как это не видео, не требуется html5 тэги чтобы его вставить, достаточно написать:
<img src="https://mathiasbynens.be/demo/animated-webp-supported.webp">
И сразу же увидим результат в браузере где поддерживает webp (по сути любой кроме edge, так как в safari будет с октября, в firefox тоже скоро):

Осталось дождаться не формата, а эффективного инструмента для конвертации mp4 в webp, который бы работал с этим форматом

И gif 11 метров из того же файла

Плохие исходники под рукой были, но идея думаю ясна
Понятно, что существуют хорошие форматы для анимашек. (Вплоть до того, чтобы вставить видеопроигрыватель).
Я говорю о том, что в плохом формате для анимашек — т.е. анигифе — можно сделать по-тупому и жирно, или по-умному и сжато, но никто это делать не будет, потому что стандартная техника передачи градиентов dithering'ом должна уже применяться не в 2 измерениях (x,y), а в 3 (x,y, время), да ещё и с оглядкой на то, чтобы инкрементные кадры были минимально зашумлены.
Но вот вот пример, который я выше приводил:
http://bellard.org/bpg/animation.html
Он уже эффективно жмет между кадрами, хранит не просто кадры подряд и т.д. и работает как обычный картиночный формат, это не видео, то есть он мог бы заменил гифки для ежедневного использования
Если речь о том, что трудно улучшить гиф, придумывая сложные кодеры и т.д., то да, но зачем это нужно, когда уже придумано и реализовано?
Сейчас проверил — ВК не загружает: (
Справедливости ради. В картинке «LZW aka GIF Compression» ошибочка. А описание правильное.
В результирующей картинке не будет никаких 6Q. Потому что GIF, точнее LZW, не имеет никакого счётчика повторений. Всё что он имеет — это словарь. Причём словарь строится на основе входного (и выходного!!) потока автоматически. То есть, в словарь попадёт сначала B, потом BA, потом BAB, потом BABA… А в конечный файл попадает (кажется), либо символ из входного, либо индекс из словаря + символ из входного.
И таки «Он поддерживал жалкие 256 цветов.» — это, простите, наброс :) Потому что в GIF-е можно хранить несколько «пар» картинка + палитра. Да, одна картинка может содержать только 256 [произвольных] цветов. Но несколько картинок подряд могут содержать их гораздо больше :)
(Надеюсь ничего не перепутал, последний раз это ковырял в далёком 1997 году :))
GIF умер, да здравствует GIF!Невнимательно прочёл как «GIT», завис на 2 секунды, судорожно нажал на ссылку.
Статья очень понравилась.
Это будет подходящим концом GIF. Его стойкость заключается в простоте и том, что он появился в нужное время в нужном месте. Giphy, наоборот, аморфный и современный. GIF – это одуванчик, без устали появляющийся среди остальных цветов в саду год за годом. Giphy – это асфальтовое покрытие.

Для того чтобы какой-то формат убил гиф, он обязан обладать всеми достоинствами гифа. А это:
1. быть просто файлом с расширением, который можно вставить куда угодно через прямую ссылку <img src=""> и знать что оно будет работать вне зависимости от того, какой код у сайта, куда это постится, и что у анимированной картинки не будет возникать лишнего мусора, вроде панели управления, которая в мелких картинках загородит собой половину изображения или больше, и вообще будет отвлекать на себя внимание.
2. сохраняться на компьютер без лишних телодвижений и плагинов (например, все видео-альтернативы гифкам из статьи у меня при правом клике мышью на них не имеют в списке пункта «сохранить», и вообще не имеют очевидной возможности достать и скачать файл)
3. Файл сохраненный на компьютер должен просматриваться вьюверами фотографий наравне с jpg и png файлами. Потому что никто не хочет, пересматривая свою коллекцию картинок из интернета (не говорите что у вас такой нет, я знаю что есть) постоянно скакать между приятным листанием стрелками клавиатуры и необходимостью по отдельности открывать каждый файл в браузере, после чего закрывать его. Это же включает в себя превью тамбнейлы в самой ОС.
4. Создание файла должно поддерживаться наиболее популярными графическими редакторами (когда я последний раз читал про APNG, единственным упомянутым инструментом для их создания был какой-то мутный плагин для firefox, куда надо было загружать отдельные кадры, предварительно сохраненные в виде обычных png, и приложение, которое требовало установку java и ту же самую предварительную нарезку анимации на обычные пнг)
Если хотя бы один из пунктов не будет выполняться — гифки будут иметь серьезное преимущество в силу своей простоты и привычности — а значит выживут.
У АПНГ есть\были шансы на то чтобы сместить гиф, но серьезные палки в колесах торчат со стороны отсутствия нормальной поддержки создания, и просмотра вне веб-браузеров. Даже просто кривой плагин к фотошопу существенно улучшил бы ситуацию.
«GIF умер, да здравствует GIF!»