Как стать автором
Обновить

Комментарии 71

Почему-то на огрызке ни VP9 ни AV1 не показывает. И браузер вроде обновлен

Полез смотреть, похоже не поддерживается =\

Там же пишут о возможных причинах:
Hence they didn't support VP9 to push everyone to HEVC, so they make money from HEVC licensing

А HEVC это упомянутый в статье H.265

Ну, в принципе, можно и в H.265 дополнительно кодировать по той же схеме, которая показана в статье. Но актуально это будет, вероятно, только для яблока.

Samsung так же за HEVC

Android 8.1 не открывает.

AV1 добавили в десятом Андроиде.

Про длительность кодирования тактично умолчим?)

Серьёзно? Как вижу веб-разработка, так сразу обсуждают многоядерных монстров с 16гб памяти, что мой десктоп на 1055Т с 8гб кажется диким старьём, и тем не менее FullHD видео с регистратор перекодирует за считанные секунды.

Хотел бы я быть таким веб-разработчиком...) С момента отправки моего комментария ffmpeg на моём i5-4210U накодировал всего 7 секунд av1-видео

Вы видео и настройки из статьи используете?

Да, скопипастил команды из поста без изменений (кроме имён файлов) — speed=0.00321x :)


Правда, я не обнаружил ссылки на обрезанный оригинал, а обрезать самому лень, так что в качестве оригинала пришлось взять то же самое av1-видео из поста — возможно, это повлияло на чистоту эксперимента, хотя не думаю

Лучше кодировать с помощью rav1e, а потом загонять в mp4 с помощью ffmpeg.
У меня вышло что rav1e кодирует в 5 раз быстрее при чуть лучшем качестве, но я кодировал запись игры в 1080р разрешении.
На моём i5-2520m получилась скорость 0.0026х, если учесть разрешение, то разница довольно большая.
AV1 все еще исключительно процессоро-интенсивный кодек на этапе сжатия материала, и это не новости. Даже после свежих обновлений. Он принципиально организован так, что оптимизировать его с каждым обновлением будет все сложнее и сложнее. С большой долей вероятности он даже через 2-3 года будет требовать на порядок больше времени на сжатие, чем X/H.265 при схожем битрейте и более-менее схожих настройках анализа смены кадров и тщательности расчета векторов движения. Да, на выходе получается просто чудо, а не материал, я сам давно мечтаю в него что-нибудь пожать из архивного. Но не с такой скоростью… Чтобы примерно оценить, насколько он математически более сложен, достаточно оценить стоимость пожатия 1000 минут видео в облаке, например, у qencode:

H.265


AV1

В будущем появятся аппаратные решения для кодирования/ декодирования.

В будущем, это вы про 10-20 лет говорите? Когда появятся энтропийно оптимальные кодеки и будет активно развиваться квантовое сжатие? Шучу, но частично)


Всё таки даже x264 не кодируется аппаратно так же хорошо, как на CPU: на том же битрейте качество довольно сильно проседает. В будущем AV1 либо заменят на нейросетевые аналоги с теоретическим восстановлением сигнала, что сведёт крайне сложную математику к не менее сложной, но намного более типичной. Ну или же на GPU подвезут тройную точность, во что я правда совершенно не верю с учётом совеременной тенденции к максимальной экономии: скорее мы увидим 4-битовые операции, чем 96 и тем более 128 битовые.

НЛО прилетело и опубликовало эту надпись здесь
Сколько контента люди, которые собственно создают контент, могут нормально экспортировать с VP9/AV1 кодеком? А сколько с H.265?
Собственно «весь» — в обоих случаях. Создание контента — недешёвая процедура.

Если же вы о тех, кто захватывает и пережимает всякие Blu-Ray… ну если у них возникнут проблемы — я не думаю что хоть кто-то из участников консорциума, разрабатывающего AV1 обидится…

А видя с какой скоростью идёт поддержка даже H265, у меня есть большие сомнения, что AV1 будет какой-бы то ни было альтернативой в ближайшие лет так 5, а то и все 10.
Что значит «идёт поддержка даже H265»? Нет этой поддержки — и не будет. Не потому что, что это сложно сделать, а потому что это нафиг никому не надо: продажа железяки с H265-энкодером это такое минное поле из патентов, что никто, кроме, по большому счёту, Apple просто не рискует туда заходить.

AV1, собственно, и начали создавать потому что стало понятно, что H265 никуда не взлетит…
НЛО прилетело и опубликовало эту надпись здесь
На Википедии есть табличка где расписано что поддерживает decoding/encoding VP9.
Новые интелы могут кодировать в VP9.
Даже некоторые мобильные процессоры поддерживают encoding VP9.
НЛО прилетело и опубликовало эту надпись здесь
А при чём тут программы то? Просто разработчики не добавили в свои программы экспорт VP9 и всё. Возможно и не добавят никогда, только на аппаратную поддержку это никак не влияет.
И если вы не знаете, Nvidia и Intel руководящие члены aom, значит они участвуют в разработке av1, значит аппаратная поддержка может появиться быстрее чем у того же H265.

Дополнение
Я даже не знаю зачем делать экспорт сразу в h264 или h265, если можно сделать экспорт в кодек без потерь и потом нормально закодировать.
С моими видосами выходило что premier pro экспортирует в h264 с качеством примерно как у x264 veryfast, но при этом делает это в 2 раза медленнее.
Соответственно смысла экспортировать в h264 нет никакого.
H265 я даже не смотрел так-как premier pro экспортирует в него очень долго по сравнению с x265.
А NVENC он конечно хорош, но только когда нет ограничений по битрейту и можно спокойно поставить битрейт на 20-30% выше.
НЛО прилетело и опубликовало эту надпись здесь
Если к моменту релиза
А к моменту какого релиза? Релиз AV1 был больше года назад. Какой ещё релиз будет?
зачем мне сначала создавать файл гигов на 30, а потом его кодировать ещё раз?
Чтобы сильнее сжать, сами же говорите про лимиты на vimeo.
А теперь представьте, что ваше очень «долго» будет длится в несколько тысяч! раз дольше
Не в несколько тысяч раз! В коментарии ниже написано что в 658.5 раз дольше чем VP9.
Ну и к тому же не обязательно использовать libaom, есть rav1e который кодирует в 5-8 раз быстрее. Вот и выходит что дольше всего в 130-82 раза. А rav1e сейчас только версии 0.1, возможно он станет ещё в 2-4 раза быстрее к версии 1.0
Если поддержки этого добра нет в софте (даже не говоря про железное ускорение) – для видео индустрии этого, считай, не существует.
Что-то гуглу это никак не мешает. Конечно если вы выкладываете видео на ютуб, vimeo или ещё куда-то, то вам в принципе фиолетово какой кодек использовать(а ютубу пофиг даже на битрейт видео). А если у вас свой сайт и вы оплачиваете трафик, то сожмёте даже если это в 100 раз дольше.
НЛО прилетело и опубликовало эту надпись здесь
Я повторюсь, в среде тех, кто делает видео контент, или его монтирует
Так то кодек и не для них делался. Этот кодек первоначально для потокового видео, а уже потом остальных до которых он дойдёт как только появятся аппаратные реализации.
никто не станет использовать никакие libaom, rav1e или что-то ещё с труднопроизносимыми названиями, что вызывается командой из терминала
А я считаю, что если человек может написать сайт, то разобраться с несколькими командами не составит труда. Ведь в статье ни слова не говорится про вашу среду «тех кто делает контент или монтирует». Статья для разработчиков сайтов.
Если нет поддержки в софте в первую очередь
Так это и есть софт, да это не софт для монтажа, но всё равно же софт.
в вашем варианте кодирование будет медленнее в ~100 раз чем уже довольно медленное
Я как-то совсем забыл про STV-AV1 от интела. Я сам не тестировал так-как нет подходящего процессора, но он может кодировать со скоростью 5.7 кадров в секуду на i9 9900k это уже сейчас примерно в 8 раз быстрее чем rav1e и примерно в 13 раз медленнее чем vp9.
Кто в здравом уме будет такое делать?
Да хотя бы тот же гугл. Он же как-то перешёл на VP9 который в ~10 раз медленнее чем h264. И сейчас так же начал переходить на av1.
вот вы заливаете видео на ютуб, скажем, а они теперь решили этот ваш новомодный кодек использовать
Вот только они уже несколько месяцев используют этот кодек, правда пока максимум в 720р, но всё равно. И это никак не повлияло на скорость появления видео на ютубе. Просто av1 появляется через несколько дней, а до этого используется h264 и vp9. Можете зайти на эту страницу и принудительно включить его. Но сейчас в av1 в основном видео с самыми большими числами просмотров.
Стоит оно того?
Раз гугл использует сразу 3 кодека, то думаю считает что это стоит того.
когда открытость идёт в разрез с производительностью, да ещё в таких пропорциях, это не имеет никакого смысла
А что бы изменилось если бы кодек был проприетарный? Тогда он вообще был бы не нужен никому. Если вам нужно быстро, то для вас уже сейчас существуют h264 и h265 с аппаратными реализациями. Те кому это нужно, будут кодировать в av1. В любом случае наличие этого кодека лучше чем его отсутствие.
Nvidia и Intel руководящие члены aom, значит они участвуют в разработке av1, значит аппаратная поддержка может появиться быстрее чем у того же H265.

Интел обещает декодер только к концу 2020 года (в Gen 12 / Xe), а про энкодер пока даже не заикаются.
Ну значит в gen 13 будет энкодер, но будет ли в нём смысл не известно(он запросто может выдавать качество не лучше чем сейчас у HEVC(h265)).
Но у интела уже сейчас есть программный энкодер, который быстрее других, но конечно нужно смотреть что там по качеству.
По ссылке из поста — «On the other hand, the encoding computational complexity (in terms of encoding run time) of AV1 compared with x264 main, x264 high and libvpx-vp9 for CRF/QP mode was increased by factors of 5721.5x, 5869.9x and 658.5x, respectively, as shown in Figure 4».
Действительно, всего-то в 5870 раз медленнее x264.
НЛО прилетело и опубликовало эту надпись здесь
Меньше 300 килобайт на 11-секундное видео с активными сценами — вау! Я немного динозавр и, наверное, отстал от жизни, но последняя табличка на самом деле очень удивляет, абсолютно не ожидал такого!

P.S. Хотя в моем динозавровом мире GIF используется для простенькой анимации, читай — анимированные смайлики или просто баннеры, вставлять в таких случаях видео — какой-то неадекват, имхо. Но для всяких новомодных «лендингов» с большим видео в топе, наверное, имеет смысл.
НЛО прилетело и опубликовало эту надпись здесь

Заменяем сжатые без потерь изображения на lossy-видео и радуемся. Мне кажется, изначально проблема изначально не столько в бедном формате, сколько в его применении

С каких пор GIF стал «сжатием без потерь»?

Там на одной необходимости загнать картинку в 256 цветов потерь больше, чем от любого, самого ужасного, видеокодека.
НЛО прилетело и опубликовало эту надпись здесь

Всегда был. Количество цветов — это не потери, сами значения кодируются LZW. Просто во времена его создания (а это 87й год, на секунду) не знали, что кому-то потребуется больше)

Анимированный GIF — это 89й. Это во-первых. А во-вторых тот факт, что существуют анимации, которые сохраняют качество при конвертации в GIF не делает это преобразование сжатием без потерь. Чёрный квадрат Малевича в любом виде будет чёрным.

Сжатие же реального, существующего, источника — теряет информацию. Причём много. И даже GifSki лишь уменьшает эти потери.

То, что изначально рисовалось в 16-64-256 цветах (смайлики, например) — можно в GIF и оставить… Там это уместно вполне.

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


То, что люди тру колор в гифки запихивают, является проблемой не формата, а людей. Сама же спецификация описывает кодирование 256-цветных изображений без потерь, определение вида сжатия строгое и не подлежит обсуждению. Иначе спустя несколько лет окажется, что и PNG данные теряет, потому что 64-битный цвет в него не запихнуть "без потерь"

Иначе спустя несколько лет окажется, что и PNG данные теряет, потому что 64-битный цвет в него не запихнуть «без потерь»
Не окажется. В PNG изначально предусмотрен 64-битный формат (16 бит RGB плюс альфа-канал).

Что, правда? Не знал. Ну окей, тогда через еще большее число лет при использовании N-битного цвета, где N > 64, суть особо не меняется

Ну вот когда (и если) в PNG будут перекодировать (с дизерингом) картинки какие-нибудь клингоняне с четырьмя видами рецепторов в глазу — его использование тоже перестанет быть «сжатыми без потерь изображениями».

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

Ой какие слова вумные. «Спецификации», «алгоритмы» и всё такое прочее. Вот где они в исходном высказывании? Извините — вы там чётко заявляли про переход от «сжатых без потерь изображений» (типа хорошо) на «lossy-видео» (типа плохо).

Однако же: вы можете разводить любую демагогию на тему «алгоритмов» и «спецификаций», но от этого GIF-артефакты с КДПВ этой статьи никуда не пропадут. А раз артефакты имеются — то это уже не «сжатые без потерь изображения», извините.

И да — спецификация предусматривает наличие в палитре 256 цветов. Чего для тех изображений, которые мы хотим показывать — не хватает…

А то так можно и JPEG назвать алгоритмом со сжатием без потерь, потому что на глаз с хорошей таблицей квантования и большим разрешением потери не заметны
Ну если это JPEG2000 — то вполне. Но речь не об этом. Речь о том, что в вашем исходном сообщении вы не говорить про «алгоритмы» и «форматы». И потому оно является враньём.

И я даже понимаю почему: если бы вы туда втащили «алгоритмы» и «форматы» (перешли от формата, сжимающего без потерь к форматам, сжимающим с форматами) — то эмоциональный эффект был бы утерян: ну да, был формат, теоретически, без потерь, теперь, теоретически, с потерями… ну и что? Картинка-то объективно стала меньше артефактов содержать…
Чего для тех изображений, которые мы хотим показывать — не хватает…

Ну раз не хватает, то чего формат винить? В том самом первом комментарии (в котором ничего не найти и вообще нипонятна) написал, что проблема в людях, которые зачем-то видео запихивают в гифки. Давайте их же в APNG заводить и говорить, какой он плохой, весит много. И призывать переходить с APNG на AV1 (???)


стала меньше артефактов содержать

Артефакты — это искажения, сделанные кодеком. Так как он у гифок не делает ни одной операции, потенциально приводящей к потере качества (в отличие от этих наших джипегов), то он физически не может привести к их появлению


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


Определения видов сжатий были придуманы не мной и не сегодня, зачем с ними спорить?

Тоже так подумал.
Хорошо если есть исходник, тогда качество будет лучше, но сжимать гиф в видео вообще плохая затея.
А гиф с дезирингом видеокодек вообще нормально не сожмёт.
Ну а если у пользователя совсем старый девайс или навигатор, который видео не поддерживает вообще (что крайте маловероятно с H264), то он просто увидит GIF
Вот бы кто подсказал, как с современными девайсами так сделать. А то уже выбешивают сайты, которые под видом GIF отдают MP4.
Для картинок (и gif в том числе) во всех браузерах есть встроенная в контекстное меню команда «Сохранить». Для видео почему-то нет. То есть конечно можно поставить какой нибудь плагин к браузеру (но они не всегда корректно работают). Но по умолчанию — нет.
Лично мне очень не нравится, когда у меня отнимают возможность свободно делать с контентом что угодно — в первую очередь сохранять себе на диск.
Firefox 67 без дополнений, есть сохранить видео, и текущий кадр.
Да и в любом случае можно глянуть исходник в HTML и скачать видео по ссылке.
Заголовок спойлера

Возможно, автор комментария пытался скачать потоковый материал, который со стороны выглядит как обычное видео в нативном плеере браузера, но на самом деле представляет собой HLS-стрим или MPEG-DASH-стрим из кусков, которые грузятся один за другим согласно плейлисту. Для таких опция «скачать видео» недоступна. Попробуйте, например, дважды кликнуть правой кнопкой по видео на YouTube.
Тут проблема двоякая: если все видео выкладывать в виде одного большого «streamable»-файла, то его, во-первых, может с легкостью скачать любой желающий, и, во-вторых, он будет просто безжалостен к трафику, ибо весь, скажем, фильм размером в гигабайт и более будет сразу скачиваться от начала и до конца при запросе (если только браузер не достаточно «умен», чтобы приостанавливать загрузку далее текущего положения ползунка в плеере).

Чтобы это исправить используют т.н. HTTP Live Streaming. Плюсы: видео заранее порезано на части по несколько секунд (причем в разных качествах для разных сетей — от быстрых, до очень медленных), которые передаются браузеру в виде плейлиста со ссылками на все куски. Клиент может быстро переходить к нужному участку видео, получить возможность выбора дополнительных аудиодорожек, которые реализованы таким же образом, экономит трафик, поставив видео на паузу (грузится, скажем, 30 секунд, после чего буферизация новых «кусков» прекращается) и еще много плюсов как для мобильных клиентов, так и для соседей по дому, которые так же хотят смотреть стримы на твиче и видео в YouTube. Но минус такого решения, конечно, в том, что чтобы скачать такое видео, нужно выкачать все куски (часто отдельно — и для видео, и для аудио) и «сшить» их вместе, скажем, с помощью ffmpeg. Однако к большинству браузеров существует туча плагинов, которые умеют перехватывать HLS-трафик, к примеру, и сшивать видео в один файл на диске.
выкачать все куски (часто отдельно — и для видео, и для аудио) и «сшить» их вместе, скажем, с помощью ffmpeg

Достаточно дать ffmpeg ссылочку на плейлист и он сам скачает и склеет.


Вроде так:


ffmpeg -i https://example.org/stream.m3u8 -c copy out.mkv
www.stream-video-downloader.com — и любой желающий может скачать любое DASH видео с любого сайта за один клик, включая rutube. Youtube не поддерживает из-за лицензионных ограничений, но тут есть другие, тот же Download Master.
Картинка всегда единый файл (да и тот же канвас всегда можно сжать из памяти «по месту»).
Современное же видео это, кроме псевдо стриминга из обычного mp4 файла еще и
DASH
HLS
WEBRTS
Которые не получиться просто взять и сохранить в файл.

upd: нужно приучить себя обновлять страницу перед отправкой комментария — выше ответили более развернуто.
Lighthouse радуется когда видит видео вместо гифов, и справедливо — разница действительно значительная. При замене гифов на видео я стандартно получал из 1.5М — 300К.
Единственная большая проблема это прозрачность. VP9(8) не работают в Сафари, к сожалению ( а айфон — наше всё ). Это решается только хитрым методом
Там, куда мы направляемся, нам не понадобятся GIFы!

Github давно зовут, но к сожалению пока не идёт что-то. :(

Очень круто! Вообще поражает скорость разработки и принятия решений во многих проектах сейчас.

Меня интересует вопрос: если я могу сейчас с условного сайта скачать GIFку и легко прикрепить на другом сайте или отправить в вк, то что делать с этим видео? Как будут реализованы такие возможности? Потому что на сайтах которые заменяют гифки на видео это превращается в гемморой

В жизни большинство вещей имеют свои плюсы и минусы. Когда вы заменяете GIF на видео, минусов чаще всего найти не получится.

К чему было это писать, если в комментариях расписали предостаточно минусов:


  • Очень медленное кодирование.
  • Отсутствие аппаратной и даже программной поддержки.
  • Видео нельзя просто сохранить или копировать.

Обратите внимание, что в процитированном предложении говорится про видео в целом, а не конкретно про AV1.


  • H.264 легко кодируется в реалтайме, libx264 достаточно оптимизирован.
  • Аппаратная поддержка H.264 встроена чуть ли не в каждую кофеварку.
  • В любом нормальном браузере есть пункт меню про сохранение видеофайла.
Сейчас бы в 2019 говорить о методах, которые толком смартфонами не поддерживаются. При том, что доля смартфонов выше доли десктопов во многих сферах.
А еще мобильные браузеры идут к тому чтобы выключить автовоспроизведение даже для видео без звука…
Как веб-разработчик, вы хотите минимизировать вещи, которые пользователям нужно скачать, чтобы сайт загружался быстро. По той же причине вы минимизируете JavaScript, оптимизируйте PNG, JPEG, а иногда и конвертируете JPEG в WebP


Судя по большиству сайтов в интернетах веб-разработчики делают строго противоположное…
Речь идёт о разработчиках, которые, возможно, прочитают эту статью.
2025 год, видео окончательно заменила GIF.
На Хабре продолжают выкладывать 4к-фотографии в PNG.
Кто-нибудь знает как создавать ВКонтакте гифки, которые проигрываются сами и почему такое есть? Я коллекционирую такие, они грузятся-выкладываются под видом PNG, но изучить причину пока нет возможности. Пересохранение такой картинки портит возможность обманывать эту соцсесть.
APNG?
Действительно, APNG работает так же. Но те всё же гифки внутри.
Linux Debian stable. PaleMoon 28.2.2.
Ни VP9, ни AV1 не работает.
Остаёмся с «тёплым, ламповым» GIF.

Вы лет этак через 10 заглядывайте, тогда может у будет актуально… :)))
А H264 тоже не работает?! Не верю :)
Ничего не работает. Человек сам себе напорождал проблем, а теперь стонет. Можно и Windows 98 в 2019м водрузить и с MS IE 5.5 куда-то там пытаться зайти, но смысл?
Забыли кодеки установить?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории