Перейти к содержимому

Как установить кодек av1 на андроиде

  • автор:

Воспроизведение AV1

AV1 (AOMedia Video 1) — это бесплатный кодек с открытым исходным кодом, созданный консорциумом технологических компаний Alliance for Open Media. Он разработан как замена HEVC/H.265. В сравнении с H.265/HEVC по результатам различных исследований выигрыш по битрейту составляет от 9,5 до 22%. По сравнению с H.264 кодек AV1 позволяет на 50% уменьшить битрейт при одинаковом качестве, и чем выше разрешение, тем эффект сжатия лучше.

Кодек AV1 основан на VP9, и для сжатия в нем применяется схожий способ блочного частотного преобразования, но предусмотрены дополнительные методы и фильтры для адаптивного улучшения качества картинки.

AV1 подходит для передачи видео высокого разрешения (4K, 8K) и поддерживается на большом количестве энкодеров, как программных, так и аппаратных (Nvidia NVENC, Intel Media SDK). В некоторых чипах для медиаплееров и телевизоров также поддерживается аппаратное декодирование AV1 в разрешении 4K или 8K. Аппаратная поддержка кодирования AV1 реализована в ряде видеокарт Nvidia, AMD и Intel.

Поддержка AV1 в браузерах

Десктопные браузеры с поддержкой AV1: Chrome (версия 70 и выше), Opera (версия 57 и выше), Mozilla Firefox (версия 67 и выше). В Microsoft Edge на Windows 10 требуется установка дополнительного расширения для использования AV1.

В большинстве мобильных браузеров есть поддержка AV1, но мобильные версии Opera и Safari не поддерживают воспроизведение AV1.

Internet
Explorer
Microsoft
Edge
Mozilla
Firefox
Google
Chrome
Safari Opera
с расширением для AV1
iOS
Safari
Opera
Mini
Chrome
for
Android
UC Browser
for
Android
Samsung
Internet

Поддержка AV1 в протоколах

  • HLS поддерживает AV1 при использовании контейнера fMP4.
  • WebRTC поддерживает AV1 в связке с аудиокодеком Opus.
  • SRT поддерживает AV1.

Поддержка AV1 в плеерах

Кодек AV1 поддерживается большинством популярных плееров, в том числе VLC media player, K-Lite Codec Pack, Media Player Classic, MX Player и т.д.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. —>

Новый кодек AV1: ускоряем загрузку видео в браузере

В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше.

Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20-40 раз.

AV1 в браузере

YouTube уже использует его в TestTube. Netflix заявил, что AV1 будет «их основным кодеком следующего поколения».

Мы в Злых Марсианах уже используем его на нашем сайте и на Ампллифере. В этой статье я поделюсь опытом внедрения AV1 и шаг-за-шагом расскажу, как вставить видео, чтобы оно работало во всех браузерах.

Кодеки и контейнеры

С картинками всё просто: или JPEG с PNG для всех браузеров, или делать более компактные файлы в WebP для современных браузеров. Мы всегда можем быть уверены, что в файлах .png будет PNG-формат (за редким исключением PNG-бомб, от которых может защитить imgproxy).

С видео-файлами всё сложнее. Расширение файла ( .mp4 , .wmv , .webm или .mov ) говорит только о контейнере. В то время, как видео-файлы состоят из трёх различных компонентов:

  1. Видео-кодек определяет как сильно вы сможете сжать видео, и чем придётся пожертвовать. Основные видео-кодеки Веба: H.264, HEVC, VP9 и, теперь, AV1.
  2. Аудио-кодек сжимает звук. Само собой, он не нужен, если в видео нет звука. Популярные варианты: MP3, Opus и AAC.
  3. Контейнер хранит оба видео- (сжатого каким-то видео-кодеком) и аудио-потока (сжатого каким-то аудио-кодеком). А также дополнительные данные, типа субтитров и мета-информации. Популярные контейнеры: MP4, MOV, WebM.

Узрите AV1

AV1 — видео-кодек, который был выпущен год назад, в марте 2018. Его создавали, чтобы превзойти кодеки предыдущего поколения — HEVC, VP9, H.264 и VP8.

Диаграмма поколений видео-кодеков

Диаграмма поколений кодеков от Цахи Левент-Леви

Если вам стало интересно, как именно AV1 удалось превзойти остальные кодеки в сжатии, почитайте технические подробности в переводах на Хабре:
«Видео следующего поколения: представляем AV1»
«Кодек нового поколения AV1: корректирующий направленный фильтр CDEF»

За счёт новых оптимизаций, AV1 сжимает видео на 30—50% лучше, чем H.264 или VP8, и до 30% лучше, чем HEVC. Но кодек был выпущен недавно и пока имеет несколько детских болезней:

  • Текущий кодер не оптимизирован. AV1 сжимает видео очень медленно (новый быстрый кодер на Rust уже в разработке). Кодек не подойдёт для потокового вещания. Если мы говорим о статичных видео на лэндингах — эта проблема нам не актуальна.
  • Пока кодек поддерживается только десктопным Chrome и Firefox под Windows. Поддержки Safari и Edge пока нет (хотя Microsoft уже тестирует её). Надо будет, как минимум, 2 файла: AV1 для Chrome и Firefox и H.264 для остальных браузеров.

Сравнение качества картинки у разных кодеков на разном битрейте

Сравнение качества картинки у разных кодеков на разном битрейте — AV1 выигрывает

Готовим AV1 правильно

Давайте, наконец-то, перейдём к практике. Вначале определимся с контейнером. В теории, AV1 можно поместить в разные контейнеры, но MP4 компактнее и рекомендуется в спецификации. Для звука в AV1 мы возьмём Opus, потому что отлично сжимает звук.

Чтобы видео работало во всех браузерах, мы будем генерировать 3 файла:

  1. Для десктопного Chrome и Firefox на Windows (31% рынка на март 2019): контейнер MP4 с AV1 для видео и Opus для звука.
  2. Для Safari и Edge (16% рынка) — MP4 с HEVC и AAC.
  3. Для остальных: большой MP4-файл с H.264 и AAC.

Для сжатия я рекомендую взять консольный FFmpeg. Есть много графических утилит, но в консоли легче сохранить опции и потом запускать конвертацию автоматически. Убедитесь, что используете именно последнюю версию FFmpeg. Версии до 4.1 не поддерживают AV1 в MP4.

  1. Установите Homebrew.
  2. brew install ffmpeg
  1. wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
  2. tar -xf ffmpeg-release-amd64-static.tar.xz
  3. sudo cp ffmpeg-4.1-64bit-static/ff* /usr/local/bin/

Переходим к конвертации файла H.264, который нужен нам для старых браузеров. Поскольку все наши файлы используют контейнер MP4, я буду использовать .av1.mp4 , .hevc.mp4 и .h264.mp4 постфиксы. Не пугайтесь длинной команды, мы потом её всю разберём:

# Замените SOURCE.mov на путь к исходному видео-файлу ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libfdk_aac -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.h264.mp4 

Теперь откройте video.h264.mp4 . Если качество хорошее, а размер большой — попробуйте увеличить -crf ( -crf 26 потом -crf 28 ). Эта опция уменьшит размер файла ценой уменьшения качества. Подбор баланса качества и размера — искусство.

Если исходного видео-файла нет, то можно сконвертировать старый H.264 файл в AV1.

Теперь пришло время для конвертации AV1 — напоминаю, будет дольше H.264. Кодек пока не использует всю мощь процессора (имеет смысл запустить конвертацию нескольких файлов параллельно).

ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libopus -c:v libaom-av1 -crf 34 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -strict experimental video.av1.mp4 

Снова поиграйте с -crf для подбора идеального баланса качества и размера.

Теперь то же самое для HEVC.

ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libfdk_aac -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.hevc.mp4 

Скопируйте video.h264.mp4 , video.hevc.mp4 и video.av1.mp4 в корень вашего сайта.

Разбираемся с опциями FFmpeg

Команды выше выглядят как заклинание вызова демона? Не волнуйтесь, это не PostCSS. Давайте разберём опции.

-i SOURCE.mov указывает входящий файл, откуда FFmpeg возьмёт потоки видео и аудио, пережмёт их и запакует в новый контейнер.

-map_metadata -1 удалит мета-информацию из видео (например, программу, в которой видео было создано). В Вебе такая информация редко бывает полезной.

-c:a libopus или -c:a libfdk_aac выставляют аудио-кодеки. Если вам не нужен звук, замените их на -an .

-c:v libaom-av1 выбирает видео-кодек — библиотеку, которая сожмёт кадры видео-потока.

-crf 34 — Constant Rate Factor, баланс качества и размера. Это как слайдер качества JPEG, только он идёт в другом направлении (0 — лучшее качество и самый большой файл). Шкала CRF разная у H.264 и AV1 — у H.264 идёт до 51, у AV1 до 61. CRF для AV1 и H.264 будет разный.

Facebook подобрал примерное соответствие между значениями CRF для H.264 и AV1:
19 → 27, 23 → 33, 27 → 39, 31 → 45, 35 → 51, 39 → 57.

-preset veryslow заставляет H.264 и HEVC кодеки сжимать файл сильнее даже ценой резкого роста времени конвертации.

-profile:v main используется у H.264, чтобы выбрать профиль кодека. Только «Main» будет работать в Safari.

-b:v 0 выставляет минимальный битрейт для AV1, чтобы в видео было постоянное качество.

-pix_fmt yuv420p (формат пикселя) — хитрый способ уменьшить размер файла. Он оставляет оригинальное разрешение для яркости, но уменьшает разрешение для цвета. Наши глаза хуже видят цвет, поэтому не замечают эту хитрость. Удалите эту опцию, если в вашем случае она будет мешать.

-movflags +faststart перемещает всё само важное в начало файла, чтобы браузер мог проигрывать видео до окончания загрузки.

-vf «scale=trunc(iw/2)*2:trunc(ih/2)*2» изменит размер сторон видео к ближайшим чётным (некоторые кодеки могут работать с разрешением 300×200 и 302×200, но не будут работать с 301×200). Если вы уверены, что везде разрешение делится на 2 — можете убрать эту опцию.

-strict experimental нужна для AV1, его кодер ещё экспериментальный.

video.av1.mp4 выставляет имя итогово файла.

Запускаем видео в браузерах

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

похожи на выражения if…else — браузер читает их сверху вниз, пока не найдёт тот, чей type он поддерживает.

В type можно указать весь формат файла: контейнер ( video/mp4 для MP4), видео-кодек ( av01.0.05M.08 для AV1, hevc для HEVC и avc1.4D401E для H.264) и аудио-кодек ( opus для Opus и mp4a.40.2 для AAC).

Бонус: как сконвертировать GIF в AV1 и H.264

В 2019 использовать GIF для коротких видео — большой грех. GIF весит в 20—40 раз больше, чем H.264 или AV1. GIF сильнее бьёт по CPU, заставляет аккумулятор утекать быстрее. Если вам нужно короткое зацикленное видео, берите видео-кодеки. И FFmpeg может конвертировать видео прямо из GIF.

Конвертируем GIF в H.264:

ffmpeg -i IMAGE.gif -map_metadata -1 -an -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.h264.mp4 

Генерируем ещё более маленький AV1:

ffmpeg -i IMAGE.gif -map_metadata -1 -an opus -c:v libaom-av1 -crf 50 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -strict experimental video.av1.mp4 

Теперь вставим animation.h264.mp4 и animation.av1.mp4 в HTML.

Опции autoplay и loop делают из видео «гифку» — цикленное видео, которое сразу играет после загрузки страницы. playsinline блокирует Safari от открытия видео на весь экран при клике на видео.

Время выводов

AV1 ещё экспериментальный. Но его уже можно использовать, чтобы сделать четверть ваших пользователей счастливее. Пара команд FFmpeg сгенерируют видео-файлы. с самого начала создан, чтобы отдавать видео по возможностям браузеров. Мы уже используем AV1 в продакшене и всё работает отлично (исключая время ожидания, пока AV1-кодер закончит работу).

AV1 Video Extension

Воспроизведение и сжатие контента с помощью кодека AV1 в ОС Windows

Скачать последнюю версию

AV1 Video Extension — это официальный кодек AV1, доступный для Windows. Разработанный компанией Microsoft, он позволяет просматривать контент, записанный с помощью кодека AV1, а также кодировать в него.

Кодек AV1 разработан Alliance for Open Media, в котором участвуют такие компании, как Google, Apple и Microsoft. Этот кодек является наследником HEVC и обеспечивает более качественное сжатие. В результате можно получить более высокое качество при том же размере файла. При том же качестве, что и у HEVC, вы можете создавать файлы, занимающие меньше места. В среднем этот кодек на 30% эффективнее HEVC при сжатии видео 4K.

Преимуществом стандарта AV1 также является его открытость. В результате, в отличие от HEVC, за его использование или установку не нужно платить роялти. После его установки вы сможете смотреть видео в кодировке AV1 на платформах потокового вещания. Вы также сможете воспроизводить фильмы, хранящиеся на жестком диске, через приложение Movies & TV.

Таким образом, если ваш компьютер оснащен процессором или видеокартой, способными аппаратно декодировать AV1-контент, чтобы потреблять меньше ресурсов и энергии, вы можете загрузить AV1 Video Extension на свой компьютер с Windows.

Проверено Alberto García Переведено Uptodown Localization Team

Больше информации

Лицензия Бесплатно
ОС Windows
Раздел Кодеки
Язык Pусский

Подборка поддерживающих кодек AV1 медиапроигрывателей с Aliexpress

Сегодня подборка из семи Android медиапроигрывателей, которые могут аппаратно декодировать набирающий популярность кодек AV1.

AOMedia Video 1 (AV1) — видео-кодек, который был разработан Alliance for Open Media при участии Amazon, Apple, Facebook * , Google, IBM, Intel, Microsoft, Mozilla и Netflix в марте 2018 года. Он был создан, чтобы превзойти кодеки предыдущего поколения — HEVC, VP9, H.264 и VP8.

AV1 обеспечивает на 30-50% лучшее сжатие в сравнении с H.264 или VP8 и до 30% лучшее, чем HEVC. Такое сжатие позволяет получить меньший битрейт при одинаковом качестве видео.

Большинство стримминговых сервисов всё ещё используют кодирование в HEVC (H.265), но процесс перехода на AV1 должен ускориться из за требования компании Google о поддержке всеми сертифицированными ей Android TV приставками декодирования AV1 с апреля 2021 года.

Realmi 4K

Новинка и одна из самых доступных моделей компактных медиапроигрывателей с поддержкой аппаратного декодирования AV1 — тв-стик Realmi 4K. В комплект входит Bluetooth пульт ДУ со встроенным микрофоном для голосового управления/поиска.

Стик построен на четырёхъядерной энергоэффективной SoC Amlogic S905Y4. На борту 2 ГБ ОЗУ, накопитель ёмкостью 8 ГБ и быстрый двухдиапазонный 2Т2R WiFi/BT модуль.

Медиапроигрыватель работает под управлением Google TV OS 11, имеет лицензии от Google и Netflix.

Realmi 4K легко переваривает медиаконтент в качестве 4К с HDR (HDR10, HDR10+), но не поддерживает Dolby Vision. Многоканальный звук выводит в DD+ и DTS. Из недостатков — нет autorfamerate.

Радует наличие обновлений от производителя. Довольно интересный и недорогой вариант.

Xiaomi TV stick 4K

Далее ещё одна недорогая новинка с поддержкой декодирования AV1, которая только поступила в продажу — Xiaomi TV stick 4K.

По аппаратной части он очень похож на стик от Realmi, тот же Amlogic S905Y4, те же 2 ГБ ОЗУ, 8 ГБ ПЗУ и быстрый WiFi/BT модуль.

Теперь тв-стик от Xiaomi может воспроизводить контент в качестве 4К. В отличии от Realmi стика у Xiaomi заявлена поддержка Dolby Vision и Dolby Atmos. Также у стика есть лицензия от Netflix.

Mecool KD2

Миниатюрный проигрыватель с поддержкой декодирования AV1 — Mecool KD2.

Построен на Amlogic S905Y4. Оснащён 4 ГБ ОЗУ и хранилищем на 32 ГБ. Работает под управлением Android TV11.

Из достоинств можно выделить:

  • SoC Amlogic S905Y4 с аппаратной поддержкой AV1;
  • объём ОЗУ и ПЗУ;
  • лицензированная Android TV 11;
  • быстрый WiFi/BT 5.0 модуль;
  • комплектный bluetooth/ИК пульт со встроенным микрофоном.

К недостаткам можно отнести:

  • постоянно работающий HDR;
  • не работающий autoframerate;
  • отсутствие поддержки Dolby Vision и лицензии от Netflix.

Недавний обзор на него — ТУТ

Mecool KM7

Переходим к тв-боксам с поддержкой AV1.

Mecool KM7 оснащен 2/16 или 4/64 ГБ ОЗУ/ПЗУ. Построен на всё том же Amlogic S905Y4. Кроме двухдиапазонного WiFi/BT модуля доступно подключение через RJ45 к Ethernet 100 Мбит/с.

К достоинствам KM7 можно отнести:

  • поддержку воспроизведения 4K YouTube роликов, кодированных в AV1;
  • не перегревающийся Amlogic S905Y4;
  • стабильный Bluetooth 5.0 и неплохой как для 1T1R WiFI модуль.
  • комплектный, программируемый Bluetooth/IR пульт ДУ;

К недостаткам можно отнести:

  • не оптимизированную прошивку прошивку ATV11;
  • отсутствие возможности записи на внешний накопитель;
  • неправильную работу HDR;
  • отсутствие autoframerate и Root доступа.

Mecool KM6 (Classic, Delux)

Mecool KM6 в вариантах Classic и Delux — популярные модели 2021 года на новом процессоре Amlogic S905X4 c поддержкой аппаратного декодирования современного кодека AV1.

Обе модели работают под управлением сертифицированной операционной системы Google Android TV.

У бюджетной версии Classic установлен 100 мегабитный LAN порт, MIMO 2×2 WiFi адаптер 2.4+ 5 ГГц и Bluetooth 4.2 .

Версия Delux оснащена оптическим выходом SPDIF, гигабитным LAN портом, Bluetooth 5.0 и поддержкой WiFi 6. В комплектах поставки обоих версий имеются Bluetooth пульты с встроенным микрофоном. К бюджетным устройствам Deluх не отнесешь.

Из достоинств обеих версий можно выделить:

  • комплектный Bluetooth пульт с микрофоном
  • сертифицированную систему Google ATV
  • вывод многоканального звука;
  • быстрые WiFi модули c поддержкой MIMO 2×2.

К недостаткам можно отнести отсутствие лицензии от Netflix.

Ugoos X4 PRO

Ugoos X4 PRO выпускается с формулой памяти 4/64 ГБ ОЗУ/ПЗУ. Построен на SoC Amlogic S905X4. Оснащен быстрым WiFi/BT модулем и имеет возможность проводного Ethernet подключения 1000 Мбит/с.

Работает под управлением Android 11 AOSP. Оптимизированная прошивка от Ugoos позволяет пользоваться целым набором различных «плюшек»: возможность создания SMB сервера, включение root прав, переназначение кнопок, управление autoframerate и HDR.

Медиапроигрыватель отлично проигрывает 4К HDR контент с autoframerate и поддерживает вывод многоканального звука.

Доступна установка ATV модуля через Magisk.

Из недостатков — нет лицензии от Netflix, уровень DRM защиты Widevine L3, нет комплектного bluetooth пульта с микрофоном (можно заказать конфигурацию включающую доп. пульт).

Mecool KT1

Интересный тв-бокс с подержкой декодирования AV1 и возможностью просмотра цифрового телевидения DVB T/T2/C. В комплекте есть отличный Bluetooth с встроенным микрофоном.

Построен на Amlogic S905X4-B. Формула памяти 2 ГБ ОЗУ и 16ГБ ПЗУ. В приставке установлен быстрый 2Т2R двухдиапазонный WiFi/BT модуль и порт RJ45 для Ethernet подключения 100 Мбит/с.

Управляется операционной системой Android TV с лицензиями от Google и Dolby Audio.

KT1 легко переваривает контент в качестве 2160Р с HDR и может выводить многоканальный звук в DD+ и DTS. Из недостатков — нет лицензии от Netflix и нет возможности включить autoframerate.

В подбрке представлены безусловно не все медиапроигрыватели с поддержкой AV1, есть еще ряд устройств на Amlogic S905X4 и S905W2, но они более проблематичны и имеют не очень хорошие отзывы.

Буду рад если эта подборка окажется кому то полезна.

На этом всё. Спасибо за ваше внимание.

  • * — Компания Meta (социальные сети Instagram и Facebook) — признана экстремистской организацией на территории Российской Федерации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://alkogolizm-zhi.vyvod-iz-zapoya-na-domu-sankt-peterburg-abc.ru/