Комментарии 85
какие шансы у av1? будет поддержка железа?
Apple недавно тоже вошла в альянс, но тут менее понятно зачем.
И официально не хватает Samsung и Qualcomm. Но они всегда были за такой движ и даже добавляли поддержку VP9 (который был не лучше конкурентов, а просто ответом). Так что тут точно добавят.
Apple недавно тоже вошла в альянс, но тут менее понятно зачем.
Apple в мобильных ARM SoC использует GPU собственного дизайна, вероятно, со своим же декодером для уже существующих кодеков. Учитывая то, что это одна из компаний, которые производят своё железо (наряду с amlogic, broadcom, sigma и xilinx), то это вполне понятно как раз.
Apple вложилась в HEVC для видео и HEIC для картинок.
Болеем за AV1, но есть вероятность что не взлетит.
Но зачем тогда Samsung и Qualcomm добавили поддержку VP9, который как раз и был ответом на HEVC?
Я думаю они добавят поддержку и AV1, раз добавили VP9
А энкодер — сколько энкодеров VP9 вам известно?
en.wikipedia.org/wiki/VP9#Hardware_implementations
выпустят чипы
т.е владельцы видюх последних 2х-3х поколений в пролёте???
Например моя бюджетная затычка 750Ti умеет NVENC, но гугловский VP9 уже не ускоряет, из-за этого видео в хроме грузит проц больше чем хотелось бы, приходится через костыли h264ify принудительно заставлять видео использовать кодек h264
Хочу отметить, что даже текущий libaom декодер работает хорошо на CPU для 720p. Недвно выпустили более быстрый декодер dav1d, который гораздо быстрее. Так что для ноутбуков проблема не такая актуальная.
А на мобильных устройствах Хром может проверять наличие поддержки и на старых устройствах просто брать H.264 или HEVC.
Как-то не хочется вместо этого смотреть 720р.
720р и 1080р явно будут хуже чем 1440р и 4к, всё таки там разница в битрейте больше чем в два раза.
Конечно если ютуб оставит vp9 и новые видео так же будет в него кодировать, а av1 будет для тех у кого тянет, то всё норм.
Но хранить видео в трёх кодеках, целесообразно ли это будет?
А пока 1080р 30фпс максимум.
www.jbkempf.com/blog/post/2018/dav1d-toward-the-first-release
Так что задел есть.
О, пока мы тут общались вышел dav1d 0.2, в котором его ускорили в 2 раза по сравнению с прошлой ссылкой
https://www.opennet.ru/opennews/art.shtml?num=50251
В целом dav1d теперь обеспечивает производительность, достаточную для декодирования видео 1080p с частотой 30 кадров в секунду практически на любых процессорах с поддержкой SSSE3.
ffmpeg ещё не собрали с ним, а dav1d 0.1.1 был +- такой же как libaom с моим i5-2520m
Вот и предполагаю что dav1d 0.2 будет тянуть 1080р 30фпс.
dav1d 0.1.1 был быстрее только с AVX2, тестировал на i3-4130. И при этом даже не в 2 раза быстрее.
Последний на данный момент libaom
720р — 53фпс
1080р — 24фпс
libdav1d 0.1.1
720р — 93фпс
1080р — 45фпс
Результаты с i5-2520m
libaom
720p — 38fps
1080p — 17fps
у давида на 1-2 фпс меньше
Видос с ютуба, из плей листа AV1 Beta Launch Playlist
youtu.be/Fmdb-KmlzD8?list=PLyqf6gJt7KuHBmeVzZteZUlNUQAVLwrZS&t=97
Участок где машина едет.
Можете скинуть? И инструкцию, если там сложнее чем в ffmpeg.
Ну и полюс проц то обычный AVX поддерживает. Добавили бы ещё под него оптимизации.
code.videolan.org/videolan/dav1d#compile
sse2 медленнее всего
С моим i5-2520m
То же видео, что и в результатах выше, разрешение 1080р
SSE2 — 15.37 fps
SSSE3 или SSE4.1 — 26 fps
А это не плохо так, i5-2520m стал на уровне i3-4130 libaom.
Но всё равно это выходит ~ +53% к фпс, не в 2 раза.
Так что выходит это утверждение
>> «В целом dav1d теперь обеспечивает производительность, достаточную для декодирования видео 1080p с частотой 30 кадров в секунду практически на любых процессорах с поддержкой SSSE3.»
не верно. Просадки есть даже на не совсем слабом процессоре.
Пока не понятно, зачем Apple вступила в AOM — будет круто, если они решат тоже добавить поддержку, но это не факт.
-crf 40 — Constant Rate Factor, баланс качества и размера. Это как слайдер качества JPEG, только он идёт в другом направлении (0 — лучшее качество и самый большой файл). Шкала CRF разная у H.264 и AV1 — у H.264 идёт до 51, у AV1 до 61. CRF для AV1 и H.264 будет разный.
У x264 10-бит лучшее качество — crf=-12.
frame= 23 fps=0.1 q=-0.0 size= 0kB time=00:00:02.13 bitrate= 0.2kbits/s speed=0.00626x
Видимо что-то пошло не так
frame= 416 fps= 56 q=36.0 size= 4096kB time=00:00:14.74 bitrate=2275.7kbits/s speed=1.97x для h264 с аас
Буду ждать дальше
По загрузке процессора можно сказать, что он плохо распараллеливается. Хром, как и лиса декодируют его ещё медленнее, чем libaom в ffmpeg. Сейчас по скорости декодирования лидирует libdav1d (почти в 2 раза быстрее чем libaom с процессорами haswell), но для этого нужна поддержка AVX2.
Из-за этого декодировать видео с частотой 60 к/с пока что сложно.
Так же я сравнивал имеющиеся видео на Ютубе (пока в av1 кодеке максимум 480р разрешение, это если не считать плейлист beta av1).
И получается, что если сравнивать по кадрам, то av1 часто проигрывает в детализации тому же vp9. av1 сильнее размывает мелкие детали.
Но если смотреть видео, то вроде бы av1 и по лучше, но это скорее всего из-за того, что у него почти не бывает видимой блочности.
В общем говоря пока что не получится уменьшить размер видео сохранив при этом качество аналогичное vp9. А вот поднять визуальное качество при том же битрете вполне получится.
Но главное конечно декодирование. vp9 декодируется программно быстрее чем тот же h264. av1 при этом декодируется минимум в 4 раза медленнее.
Так что ждём быстрые кодеры и декодеры, а так же железные реализации.
А уменьшение битрейта на 30% можно добиться только с большими битрейтами. Там 15+ мбит/с для 1080р (зависит от сложности видео).
Для всяких там blu-ray и съёмки видео на телефон это хорошо.
На низких же битрейтах и в играх как-то не впечатляет.
И с чем идёт сравнение? С HEVC или H.264?
Низкий битрейт на ютубе например. И думаю с внедрением av1 он его ещё понизит и будет совсем мыльцо.
Например сейчас далеко не каждое видео выглядит лучше с vp9 кодеком, чем с h264, а всё потому, для vp9 битрейт меньше.
Но это моё ИМХО, я так вижу.
Из-за этого какие-то видео смотрю в h264, а какие-то в vp9, ну а для 1440р и 4к выбора нет, только vp9.
А HEVC увы хромом не поддерживается и декодировать его тоже сложно. У меня 1080р 30 фпс жрёт процессор под 50-70% при том, что vp9 с 1440р разрешением жрёт меньше.
Это кстати как с jpeg.
Сравнивал jpeg и с webp и с heif.
В итоге получается, что при одинаковом размере файла по детализации жепег выигрывает даже у heif. А про heif то говорят, что он в 2 раза меньше по размеру чем жепег при том же качестве.
Да, у жепега в зависимости от картинки могут быть сильные артефакты, но при этом есть мелкие детали, которых нет в webp и heif. Конечно если вы не знаете, что там были какие-то детали, то webp и heif лучше выглядят.
Но больше информации сохраняет именно жепег.
Нужно жепегу просто прикрутить фильтр хороший и будет новый стандарт сжатия.
Как-то кажется, что после жепега кодеки пошли не туда. Вместо того, чтобы сохранять больше информации они делают так, чтобы это выглядело красиво в ущерб достоверности.
Этот коммент к тому, что на основе сжатия ключевых кадров av1, будет формат сжатия изображений.
И уж он возможно будет лучше чем jpeg по всем параметрам, но я как-то в этом сомневаюсь.
А если брать стрим какого нибудь шутера, то там и 10 мбит битрейт при 1080р разрешении может считаться низким.
*планка — это, когда картинка местами рассыпается на блоки или в случае AV1
местами превращается в однородное месиво.
А так как формат разрабатывается для веба, то я думал, что такого не будет и он будет лучше оптимизирован под стримы игр.
Для одних сценариев важнее детализация. Для других — важнее отстутствие квадратов DC.
Например, у нас на evilmartians.com есть фоновое видео. Посколько оно передаёт эмоции, а не информацию, то там низкий битрейт. Однако, квадраты DC будут там работать хуже, чем потеря детализации.
Ну фоновое видео я как-то не учёл. Я их в принципе не смотрю.
А параметры этого видео можете сказать если не секрет?
Ну я значит в основном говорю про стримы игр(так-как смотрю в основном их), именно искусственная графика плохо сжимается. Ваше же видео снято на камеру, а с этим у AV1 нет никаких проблем, я про это уже писал.
Увы, кодировал не я
> Ну я значит в основном говорю про стримы игр(так-как смотрю в основном их), именно искусственная графика плохо сжимается
Ага. Особенно для стратегий важнее детализация. Но вот уже для штутеров сглаживание может быть лучше DC-квадратов.
В любом случае очень низкие битрейты — это экстремальные случаи.
В самых популярных случаев разницы между AV1 и другими кодеками в картинке видно не будет (просто поток будет меньше нагружать соединение).
Ничего, я уже скачал все варианты
Сейчас сравню
Это сильно зависит от контента.
Если кодируют не битрейтом, а CRF или QP, то тогда всё нормально.
А когда кодируют в целевой битрейт, то разница в качестве между той же стратегией и шутером будет огромна.
Для стратегии битрейт будет сильно избыточен, а для шутера не достаточен.
Вот и получается случай с экстремально низким битрейтом.
А видеохостинги явно не подбирают битрейт под конкретное видео.
Ну да, av1 выигрывает даже при том, что по данным mediainfo у h264 на ~65% больше битрейт.
Единственное чем av1 отличается не в лучшую сторону — это цвета. Цвета другие из-за его предсказания цветов, но в таком видео это не критично.
Банально включить поддержку арифметического сжатия с Jpeg, которое было выключено 30 лет назад из-за пататентов, и поддержки которого до сих пор нигде нет. Хотя те же h264/h265 опорные I кадры сжимают именно с арифметическим сжатие. Это сразу даёт примерно -30%. Причём даже можно lossless перекодировать jpeg из старого стандарта в новый.
Вроде бы не хватает -movflags faststart
в параметрах конвертации, для того, чтобы файл в вебе мог запускаться до его полной загрузки.
По этой причине AV1 пока не включили на мобильных устройствах.
А что за CPU?
Сейчас вышла версия 0.2, сколько ещё времени до выхода 1.0 не известно.
bugzilla.mozilla.org/show_bug.cgi?id=1493397
В Хроме тоже обсуждают и собираются
Да, для него ждём dav1d в браузеры — его версия 0.2 как раз имеет оптимизации для SSE2, которые будут работать в Athlon 4200+.
Но с фразой «Для обычного пользователя AV1 — зло в чистом виде» не согласен:
- Если я правильно понял, то это поколение «Athlon 64 X2», которое вышло 13 лет назад. Согласен, что важно о нём думать. Но это не «обычный пользователь».
- Впрочем даже для 13-летних процессоров будет скоро легче. К тому моменту, как по этой инструкции AV1 внедрят на сайт, dav1d 0.2 включат в браузерах
Это сайтам AV1 нужен, а обычному юзеру он нафига вообще? h264 аппаратно декодируется практически на всём до 10 летней давности, то есть гарантированно 1080 можно смотреть. Для AV1 если и сделают быстрый декодер, наверняка, качество картинки будет хуже чем в h264.
Какой-то странный парадокс: скорость в магистральных каналах растёт, скорость подключения у пользователей растёт, железо способное тянуть высокий битрейт имеется, жёсткие диски вмещают в себя терабайты. Но, размер файлов почему-то должен уменьшатся! Может ютубу проще было сделать автоматическое удаление видео с одним-двумя просмотрами, которые лежат годами у некоторых пользователей, а не изобретать новый кодек?
Каких таких? Два ядра Athlon 4200+ и два ядра Core i3 8109U — это, как говорится, две большие разницы: www.cpubenchmark.net/compare/AMD-Athlon-64-X2-4200+-vs-Intel-i3-8109U/1512vs3333
Новые алгоритмы рассчитаны на новые аппаратные возможности, невозможно бесконечно поддерживать старое железо. Вы же не жалуетесь, что Athlon XP 2500+ вообще неспособен воспроизводить современные форматы видео? Настал и ваш черёд.
С видеокартой GF9500 — 1080p с малой нагрузкой на проц, при этом скрол и отрисовка достаточно быстрые (почти всё на себя берёт видеокарта).
У Athlon XP с h264 есть проблемы на винXP, на 7 всё открывает.
Вы хотите сказать, что 360p — это современно?
> В плеере 720 легко
Не легко, зависит от параметров кодирования, во многих случаях регулярный пропуск кадров заметен невооруженным глазом.
> С видеокартой GF9500 — 1080p
Так декодированием занимается видеоускоритель. Можете подождать следующего поколения, которое будет поддерживать ускорение AV1. Но это не будет означать что ваш Athlon 4200+ внезапно стал производительнее, не так ли?
> У Athlon XP с h264 есть проблемы на винXP, на 7 всё открывает.
В браузерах все равно выше того же 360p получается слайдшоу.
Нет никакого смысла держаться за такое старое железо, если даже копеечный, но современный AMD Athlon 200GE будет быстрее в разы.
Вы хотите сказать, что 360p — это современно?Я бы сказал, что во многих случаях этого достаточно, в смысле жить можно, если альтернативы нет.
Не легко, зависит от параметров кодирования, во многих случаях регулярный пропуск кадров заметен невооруженным глазом.с точностью наоборот. В плеере картинка лучше и плавнее выглядит чем в браузере.
Нет никакого смысла держаться за такое старое железо, если даже копеечный, но современный AMD Athlon 200GE будет быстрее в разы.Есть разные способы использования ПК. У кого-то такой аппарат может находиться на даче или в деревне. Кто-то сидит на старом компьютере на работе. Не всегда обновление железа возможно, либо людей всё устраивает и так. Обновление старого ПК — по сути это покупка нового, единственно что там может быть совместимо это жёсткие диски. 1080p вполне достаточно для большинства, если это действительно 1080, а не псевдо 1080 (мыло в большом разрешении). Единственно, где 4к заметно лучше выглядит — это панарамные видео.
с точностью наоборот. В плеере картинка лучше и плавнее выглядит чем в браузере.
Вы о чём? Я же говорю, в плеере плавнее, но все равно падение частоты кадров видно невооруженным глазом, смотреть неприятно.
Есть разные способы использования ПК.
Конечно есть, но мы начали с утверждения, что таких пользователей 70%, что далеко от реальности. К тому же большое количество пользователей использует мобильные устройства, в которых из-за необходимости экономить заряд батареи аппаратные декодеры появляются очень быстро и AV1 не заставит себя долго ждать.
И да — на руках у людей огромная куча старого железа, в лучшем случае с аппаратным декодером h264 30fps (зачастую без нормальных 60fps) — и идея пытаться «силой» заставить обновить железо мне не нравится совсем. Предпочёл бы постепенный переход с возможностью оставить старые кодеки для «устаревшего» железа
Скорее всего, на мобильном устройстве Хром будет грузить H.264, если нет аппаратной поддержке (по крайней мере так всегда делали до этого).
Там таких пользователей под 70%
Что-то я этого в той статистике не нашёл. 70% — это двухядерных процессоров. Но 2-х ядерный процессор 2019 гораздо быстрее, чем двухядерный процессор 2005.
К сожалению, в статистике нет данных про поколения процессоров.
Но опять же, это чисто теоритический вопрос. dav1d 0.2 как раз должен в несколько раз быстрее работать на старых процессорах.
Для AV1 если и сделают быстрый декодер, наверняка, качество картинки будет хуже чем в h264.
Почему хуже?
Какой-то странный парадокс: скорость в магистральных каналах растёт, скорость подключения у пользователей растёт, железо способное тянуть высокий битрейт имеется, жёсткие диски вмещают в себя терабайты.
Не забывайте, что с ростом скорости растёт и требования к видео.
Сейчас всем нужна ретина, 4K и 60 кадров в секунду при 10-битном цвете. Такое H.264 уже не вытянет. Поэтому и работают над кодеками следующего поколения.
Но 2-х ядерный процессор 2019 гораздо быстрее, чем двухядерный процессор 2005.
Но ведь до сих пор продаются новые компьютеры с процессорам Celeron/Pentium N/G и их производительность не слишком отличается от того же Athlon 64 X2 4200+ 2005 года.
Так это новые компьютеры, с новыми процессорами Celeron/Pentium. Сам бренд процессора Celeron не означает, что использованные в нем технологии застряли на уровне пятнадцатилетней давности: www.cpubenchmark.net/compare/AMD-Athlon-64-X2-4200+-vs-Intel-Celeron-G4900/1512vs3275
И кроме упомянутого Вами G4900 с нормальной частотой (пусть и без AVX) полно ULW решений с частотами 1.1-1.6 Ггц — и если у i3 с индексом U в наличии и AVX, и турбобуст, и кеш в порядке, то нетбучные пентиумы лишены этих благ.
И при сравнении Pentium N и Core 2 Quad мы получаем огромный прогресс в плане экономии энергии, но не в производительности.
Нельзя забывать о слабых системах — парк техники у пользователей не будет обновляться мгновенно, а из-за перехода на компактные и портативные решения производительность будет расти ещё медленнее.
Аппаратные декодеры в ULW — решение, но решение требующее обновления техники и соответствующих финансовых затрат. Хотя обновляться в случае AV1 некуда — декодеров то нет
Хорошо хоть SSE интел для бюджеток не задушил.
Вы лучше всё же посмотрите на количество ядер и частоту — новые инструкции и архитектура в ULW решениях «скомпенсированы» низкой частотой — в итоге в большинстве случаев мы получаем производительность не лучше старого десктопа, но с другими габаритами и уровнем энергопотребления
Но это я не утверждаю, просто где-то читал про это. Но я с этим согласен, каналы расширить по всему миру сложнее, чем просто докупить жёстких дисков.
С h264 такое тоже было, когда не было аппаратной поддержки.
Тот же mpeg4 раза в два быстрее декодируется чем h264.
А как узнать версии кодеков для уже существующего файла
type="video/mp4; codecs=av01.0.05M.08"
И кажется там опечатка в командах -c:a
вместо -a:c
?
Это такой формат у FFmpeg `-c:a libfdk_aac -c:v libx265`
А как узнать версии кодеков для уже существующего файла
Не уверен как сделать это для AV1, но для H.264 (и может для HEVC) можно использовать MP4Box
MP4Box -info big.mp4 2>&1 | grep RFC6381 | awk '{print $4}' | paste -sd , -
Или вручную через вот этот справочник
Новый кодек AV1: ускоряем загрузку видео в браузере