Настройки кодека av1 ютуб что это
Если в предыдущем посте речь шла о поддержке H.265 (HEVC), используемого в основном, для скачанных видеофайлов, то в этом речь пойдет про YouTube. Реалии таковы, что поскольку за использование HEVC требуются лицензионные отчисления, для потокового видео используются открытые и бесплатные кодеки, например, в случае с YouTube - VP9 и AV1.
Касательно аппаратной поддержки, снова обратимся к ссылкам, опубликованным в прошлом посте:
2. NVDEC в случае с NVIDIA
3. Unified Video Decoder у чипов AMD, вышедших до 2017 года
4. Video Core Next у чипов AMD, вышедших с 2018 года
Что мы видим? У интелов поддержка VP9 начинается с Apollo Lake, у NVIDIA она есть практически везде, где есть поддержка HEVC, а вот AMD его поддерживает только с 2018 года (UVD в VP9 аппаратно не умеют вообще).
Нууу. ладно. а что с AV1? А вот AV1, дорогие друзья, поддерживается только чипами, выпущенными не ранее 2020 года. Да, вы все правильно поняли: для аппаратной поддержки AV1 у вас должен быть либо процессор не ниже 10 поколения Intel с встроенной графикой, либо видеокарта Nvidia GeForce не ниже 3050Ti. В случае с AMD, VCN 3.0 c с поддержкой AV1 есть только на видеокартах серии RX6000 (фанаты AMD, поправьте, если не прав). Такие дела.
Теперь вернемся к нашему YouTube. Логичный вопрос: где там используется VP9, и AV1, с привязкой к чему? Ответ - для самого пользователя это практически лотерея.
Как узнать, каким кодеком воспроизводится видео? По правой кнопке на самом видео при его воспроизведении, далее - "Статистика для сисадминов", и там смотрим "Codecs":
Например, вот одно видео, в режиме 8k оно воспроизводится AV1:
Вот другое, там 8к воспроизводится с помощью VP9:
Иногда бывает, что и меньшие разрешения также воспроизводятся с помощью AV1, иногда - с помощью VP9, иногда - AVC (H.264). В общем, полный бардак и натуральная лотерея.
Что с этим делать?
1. Настройки Youtube. Нас интересует "Настройки кодека AV1", галка "Использовать AV1 для SD-контента". Но проблема в том, что на 8к (и возможно, 4к) эта настройка никак не влияет - первое видео всё равно будет воспроизводиться кодеком AV1. Предположение - просто потому, что YouTube не делает перекодирование высоких разрешений из одного кодека в другой, поскольку это достаточно аппаратно-затратная процедура
2. Плагин enhanced-h264ify для Chrome. Открываем параметры плагина, и протыкиваем галки на форматах, которые мы не хотим использовать:
Тут важно учитывать следующее: плагин не занимается конвертированием форматов, он лишь заставляет сам YouTube показывать видео с другими кодеками. Если вы отключили AV1 - первое видео из этого поста у вас перестанет отображаться в 8K-разрешении, его попросту не будет в списке. Если вы отключили VP9 - вы не сможете смотреть видео в 4К-разрешении, у вас в списке будет максимум FullHD (1080p), поскольку только такие разрешения YouTube кодирует в AVC.
Поэтому, отключайте поддержку того или иного кодека только в том случае, если он вам реально мешает, процессор с ним не справляется и при его включении практически всегда - тормоза при воспроизведении, и вы уверены, что совсем без этого кодека лучше, чем с ним.
Всем спасибо за прочтение.
Компьютер это просто
757 постов 3.2K подписчиков
Правила сообщества
Уважать мнение других
Не переходить на личности, даже при споре, "Что лучше Intel или AMD".
Матерится, выражая эмоции можно, но опять же, не в адрес оппонента или собеседника.
Отдельно для "свидетелей LINUX": Вам здесь рады, но и к Вам пожелание быть проще и понятней.
Не вводить в заблуждение заведомо неверными и вредными советами, даже в шутку. Если же пошутить хочется, помечайте это в комментарии, добавив слово "шутка", или другим понятным словом, что бы в дальнейшем данный комментарий не воспринимался серьезно.
В публикуемом посте настоятельно рекомендуется указывать конфигурацию ПК (ноутбука) и операционную систему. А также марки и модели комплектующих.
Указывайте теги "Компьютер" "Ноутбук" "Программное обеспечение" "сборка компьютера" "Операционная система" "Драйвер" "Комплектующие".
@dlumv Спасибо за развернутый ответ! Теперь ясно!
А неплохо так 8К проц нагружает
Может кто подскажет. Тв бокс не поддерживает av1, но достаточно мощный ugoos am6b plus. Как на нем смотреть av1?
Youtube vansed на android tv при просмотре некоторых видео отправляет приставку в сон или перезагрузку.так и не разобрался,что именно надо выставить в настпойках форматов.никто с таким не сталкивался?
Напишу про себя: раньше через hdmi смотрел фильмы, потом узнал что есть тв приставки взял себе на пробу mi box s и понеслось, фильмы уже где-то год с лишним не качаю смотрю всё с неё потоково, а главное жд не забивается, при моём инете без зависонов 30гб фильмы смотрятся норм, ютуб тоже пробовал 4к 30фпс hdr без лагов, 60фпс немного кадры пропускаются, кодек ав1 это больше для создателей стриминговых сервисов нужен, чтобы экономить себе пространство
Как от жизни я отстал, я до сих пор пень 4 юзаю. Смотрю Ютуб и не понимаю, почему в 4К качестве жутко тормозит. А оно оказывается не тянет. Печаль.
Теперь вернемся к нашему YouTube. Логичный вопрос: где там используется VP9, и AV1, с привязкой к чему? Ответ - для самого пользователя это практически лотерея.
А если смотрим канал раскрученного видеоблохера, или видео снято с качеством 4К - будет VP9.
Иван Петрович Сидоров покупает компьютер. Август 2028 года. Гротеск - сказка
Герой нашей истории - Иван Петрович Сидоров - мастер сталелитейного цеха из Нижнего Тагила. Живет он в небольшом домике в 300 кв.м. с восемью спальнями, в ближнем пригороде, на берегу Верхне-Выйского водохранилища. У него семь детей, пять девочек и два мальчика.
Под конец летних каникул 2028 года дети Петровича дружно стали просить новый компьютер. Купленный еще в 2021 году компьютер с процессором Intel Core I7, с рабочей частотой 4,2 ГГц, оперативной памятью 32 гигабайта, SSD накопителем на 1 терабайт и видеокартой Nvidia RTX3060 категорически отказывался обеспечивать нормальные параметры для современных российских игр и интерактивных фильмов.
Например, любимая игра старшего мальчишки «Кинжал, Искандер и Авангард», основанная на событиях 2023 года, не шла выше 60FPS (60 кадров в секунду) что совершенно неприлично для лета 2028 года, а младшая девочка очень расстраивалась, когда её любимый интерактивный фильм «Розовые пони путешествуют по России 3D» работал только в 2D… А самое главное, поделить один компьютер на всех возможных пользователей было очень сложно.
Ситуация сложилась, время пришло. Старая техника ушла в прошлое… Осознав необходимость, и смирившись с неизбежной потерей суммы, достигающей 1000 рублей (по курсу августа 2028 года - примерно 80 000 долларов США), Иван Петрович отправился в магазин «Электроника», который уютно расположился в зеленом парке, недалеко от центра Нижнего Тагила, на улице Серова.
Петрович вызвал такси - небольшой пятиметровый автомобильчик ТойоЖига, подождал подачи машины пару минут, и через двадцать минут был в магазине. На входе в магазин Ивана Петровича встретил робот - консультант (машина тупая и бесхитростная). Робот выдвинул из своего корпуса покупательское кресло (куда и уселся уважаемый Иван Петрович), и поехал по аллеям магазина, попутно задавая Петровичу разные наводящие вопросы. За пару минут поездки между рядов холодильников, домашних роботов, телевизоров и экстрапроекторов, робот выспросил у Петровича все, что нужно было знать человеку - продавцу, и передал полученные сведения по 8G воздухсвязи (частота 8,2ГГц) младшему организатору отдела компьютеров. Задача была нетривиальной, и обычный робот - продавец очевидно с ней бы не справился.
Для того, чтобы подобрать Ивану Петровичу вычислительную систему нужно было учесть целый рад факторов:
1. Количество пользователей - 12, в том числе взрослых - двое, детей - семеро, два кота, собака. Соответственно, необходимо иметь два порта для 2D мониторов, 7 портов для 3D мониторов и 3 порта для «животных интерфейсов».
2. Система должна иметь доступ в Междусеть, со скоростью не менее 100 Мбит в секунду.
3. Система должна быть интегрирована с облаком «Российская школа», с доступом ко всем её образовательным ресурсам.
4. Система должна иметь возможность эффективной утилизации вырабатываемого тепла.
Младший организатор отдела компьютеров любезно встретил Ивана Петровича, и стал знакомить его с новейшими достижениями отечественной электронной промышленности. Самые большие в мире российские сверхбольшие интегральные схемы (СБИС) стали основой интереснейших вычислительных и роботизированных систем. Намного бОльшие как по размеру, так и по мощности, чем устаревшие Эльбрусы и Байкалы - новые процессоры Бештау, Белуха и Ветлан работают на частотах от 6 до 12 ГГц, имеют промежуточное хранилище первого уровня (кэш, если по-старому) не менее 512 Мбайт, а также очень красивое внешнее оформление, отдалённо напоминающие десятикилограммовые золотые слитки. Как по виду, так и по размеру.
Дело в том, что российские ученые приняли правильное решение не применять мелкие и дорогие в производстве технологические процессы 7 и 14 нанометров для приборов бытового применения, а использовать для этой цели легко исполняемые и недорогие изделия по технологии 90 нанометров. Ну и что, что процессоры получились большие и энергоемкие. Для России, обладающей бесплатной (в том числе и для населения) электроэнергией это не было проблемой. И достигнуть производительности в десятки раз превосходящей популярных в прошлом Intel Core i9 оказалось совсем не трудно, объединяя в стеки пятиядерные процессоры Бештау.
Посмотрев несколько каталогов, Иван Петрович остановил свой выбор на вычислителе ЭВОК (электронно - вычислительный образовательный комплекс) Бештау 5х5, на стеке из пяти процессоров Бештау, которые выпускаются большими сериями в городе Пятигорске. ЭВОК имеет достаточное количество внешних интерфейсов, как для людей, так и для животных, и даже для роботов, а избыточное тепло от работы системы отводится на внешний радиатор, который включается в систему отопления дома.
Иван Петрович оплатил 1048 рублей 27 копеек картой «Весь МИР», и отправился домой. А следом за ним поехала машина магазина «Электроника», в которую погрузили собственно ЭВОК, 2 больших 2D монитора с разрешением 20К диагональю 2 метра, 7 детских 3D монитора с разрешением 8К диагональю 1 метр, и комплектом очков виртуальной реальности, а также 3 интерфейса для животных, с маленькими мониторчиками по 2К.
Не буду подробно рассказывать, как систему привезли к Петровичу домой, как вся семья расстраивалась что такой изящный аппарат, поражающий изысканной отделкой натуральным деревом и алюминием, размером с небольшой холодильник, пришлось поставить в подвале, потому, что только там было удобно подключить ЭВОК к системе отопления дома, как всем членам семью поставили на рабочие столы мониторы, клавиатуры, крыс-манипуляторы и джойстики, как объединили всё по 8G воздухсвязи, все это было довольно быстро. А потом наступил вечер…
. Иван Петрович, сидя в удобном кресле, загрузил старую добрую игру Fallout 3, и с радостью отметив превосходное качество графики (200 FPS при разрешении 20К, на ультрах) решил вспомнить молодость, и провести пару часов во вселенной, которой никогда не было, и (к счастью) - никогда не будет. Вечер был тих и спокоен, и только легкий августовский ветерок лениво шевелил занавески на открытых окнах.
P.S. Техническая спецификация вычислителя ЭВОК Бештау 5х5:
Процессор: 5 пятиядерных процессоров Бештау 10 ГГц в стеке;
Оперативная память: Биоэлектронная, 512 Гб, рабочая частота 4,2 ГГц;
Накопитель первого уровня: SSD 8 Тб "Урал";
Накопитель второго уровня: HDD 256 Тб "Урал";
Модуль графики: Полюд 8060, 256 Гб собственной видеопамяти, с возможностью использования для графики до 50% оперативной памяти системы;
Количество подключаемых мониторов: 16, в том числе 8 3D дисплеев;
Междусеть (ранее - Интернет): до 256 МБит/сек;
Воздухсвязь (ранее - WiFi): 2048 МБит/сек;
Габариты (ВхШхГ): 1800 х 600 х 600 мм.
Энергопотребление: 6 КВт на максимальной производительности, 100 Вт в режиме простоя;
Возможности использования в системах отопления дома: 3 КВт в системе отопления или 2,4 КВт в системе горячего водоснабжения.
В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше.
Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20-40 раз.
YouTube уже использует его в TestTube. Netflix заявил, что AV1 будет «их основным кодеком следующего поколения».
Мы в Злых Марсианах уже используем его на нашем сайте и на Ампллифере. В этой статье я поделюсь опытом внедрения AV1 и шаг-за-шагом расскажу, как вставить видео, чтобы оно работало во всех браузерах.
Узрите 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 выигрывает
Рецепт высокого качества!
C техническими сложностями мы разобрались, теперь важно выбрать оптимальный битрейт для записи исходного видео или трансляции.
Всегда следует учитывать очень важное правило, которое работает не только для ютуба, но и вообще в принципе при записи видео.
Чем более качественные исходные видео или аудио данные будут получены, тем меньше потерь качества при их дальнейшей обработке.
О чем это говорит? Чтобы уменьшить потери качества при загрузке видео или проведении трансляции на YouTube, нужно использовать максимально возможные настройки кодировщика, а также задать более высокий битрейт для видео и аудио в том числе.
С кодировщиком всё крайне индивидуально, и всё зависит от того, какой вы будете использовать, но однозначно на данный момент фаворитом можно назвать аппаратный кодировщик Nvidia NVENC за счёт его высокой ресурсоэффективности.
Что касается битрейта, то на YouTube нет жестких ограничений для трансляций и нет ограничений вообще для загружаемого видео.
Если выставить битрейт 25 ил 50 мб/с для трансляции в 2K разрешении, то даже после сжатия видеоданных серверами, картинка будет выглядеть гораздо лучше, чем при использовании битрейта 8000 кб/с.
Основное
Новый видеокодек стал доступным для служб потокового видео и воспроизведения для использования через H.264 и H.265 или HEVC. Этот новый кодек называется AV1 . Это открытый и бесплатный формат кодирования видео, который в основном используется для передачи видео через Интернет. Это сделано, чтобы следовать формату кодирования VP9. Он предназначен для использования вместе с OPUS в предстоящем обновлении формата контейнера WebM для веб-видео HTML5 и технологий WebRTC. Этот кодек обещает такое же качество потока, но с уменьшением размера файла. Кроме того, владельцам патентов не будут выплачиваться деньги за использование этого кодека. Вы можете, если хотите, включить этот видеокодек AV1 на YouTube .
Кодеки на Youtube
Чаще всего YouTube использует три кодека для сжатия видео.
Запускаем видео в браузерах
Теперь нам нужно, чтобы каждый браузер загружал видео, которое он поддерживает. Для этого у есть атрибут 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).
Время выводов
AV1 ещё экспериментальный. Но его уже можно использовать, чтобы сделать четверть ваших пользователей счастливее. Пара команд FFmpeg сгенерируют видео-файлы. с самого начала создан, чтобы отдавать видео по возможностям браузеров. Мы уже используем AV1 в продакшене и всё работает отлично (исключая время ожидания, пока AV1-кодер закончит работу).
YouTube для проигрывания видео по умолчанию использует видеокодек VP9. Он производительнее, чем VP8, который применялся ранее, но все равно сильно нагружает процессор. Из-за этого просмотр HD-видео на маломощных машинах становится мучением: постоянные паузы, сильный нагрев процессор, быстрый разряд аккумулятора ноутбуков. Еще хуже обстоит ситуация с просмотром онлайн-видео в разрешении 4K или 8K.
Самый простой выход — уменьшить разрешение проигрываемого видеофайла. Вместо 1080p (1920x1080) в настройках можно выбрать 720p (1280x720) или даже 480p (640x480). Но если у вас хороший экран ноутбука или монитор поддерживает разрешение FullHD, хочется смотреть видео в максимально возможном качестве.
Другой вариант — поменять браузер. Тогда, возможно, просмотр видео через YouTube будет меньше нагружать процессор. К примеру, Opera использует кодек AV1 для некоторых видеороликов. Но к этому кодеку мы еще вернемся.
Если вы привыкли пользоваться браузерами Chrome и Firefox , вам нужно установить специальное расширение под названием H264ify. Он заменяет кодек VP9 на кодек AVC, который потребляет меньше энергии и меньше нагружает систему, позволяя задействовать для обработки видео мощности графического процессора. Благодаря этому вы сможете смотреть онлайн-видео без тормозов даже на старых и маломощных компьютерах. На качестве это никак не скажется: человеческий глаз в любом случае не увидит разницу.
Все, что вам нужно, это установить расширение для браузера и включить первый пункт Enable h264ify . Теперь видео в YouTube будет использовать кодек AVC (Advanced Video Coding) или, по-другому, H.264. Можете проверить, кликнув правой кнопкой мыши по воспроизводимому видео и выбрав пункт «Статистика для сисадминов».
У расширения H264ify есть еще два пункта:
Block 60fps video — блокирует вывод видео с частотой кадров 60 ФПС, снижая нагрузку на процессор.
Disable when plugged into power (Chrome only) — позволяет автоматически отключать дополнение, если ноутбук подключается к розетке и не нужно экономить заряд аккумулятора. Работает только в браузере Chrome.
P.S. На одном из форумов пользователь написал, что плагин h264ify позволяет смотреть видео в разрешении 4K. Это не так. После активации пункта «Enable h264ify» в YouTube в настройках вам будут доступны только разрешения не выше 1080p.
VP9 — открытый стандарт сжатия видео, разрабатываемый корпорацией Google. Является эволюционным развитием стандарта VP8. Активно используется с 2014 года. Google также ведет работу над VP10, но у этого стандарта туманные перспективы из-за AV1.
AOMedia Video 1 (AV1) — открытый стандарт сжатия видео, разрабатываемый Альянсом Открытых Медиа (AOMedia), состоящим из компаний занимающихся производством электроники (AMD, Apple, Arm, Broadcom, Intel, Nvidia), распространением видео по запросу (Apple, Amazon, Facebook, Google, Hulu, Netflix), разработкой веб-браузеров (Apple, Google, Mozilla, Microsoft). Вероятнее всего, именно AV1 станет главным видеокодеком для онлайн-видео в ближайшие годы.
В этой статье я подробно объясню, почему при загрузке видео или ведении трансляции видео на YouTube, качество сильно отличается от оригинала, и что следует предпринять, чтобы добиться наименьших потерь качества.
Все, о чем пойдет речь в этой статье, работает как для загруженных видеороликов, так и при проведении трансляции.
Да, это жестко.
Предположим, вы запустили трансляцию на YouTube в Full HD разрешении 1920x1080 c рекомендуемым битрейтом 9000 кб/с, указанным в справке для трансляций на YouTube.
Для сжатия видео серверами будет применен кодек H.264/AVC, и качество картинки оставит желать лучшего, в особенности, если это динамичное видео.
Откройте видео в разрешении 1080p, кликните правой кнопкой мыши в проигрывателе браузера, и в Статистике сис.админа можно будет увидеть используемый кодек.
Откройте видео в разрешении 1080p, кликните правой кнопкой мыши в проигрывателе браузера, и в Статистике сис.админа можно будет увидеть используемый кодек.
Не смотря на то, что H.264/AVC самый распространённый и весьма эффективный кодек, главная проблема заключается даже не в нем, а в высокой степени сжатия , с которой видео будет перекодировано серверами.
Так что, если скачать трансляцию и взглянуть на битрейт видео с помощью MediaInfo, то можно заметить, что, по факту, никаких 9000 кб/с при воспроизведении не будет, а битрейт трансляции в среднем составит 3500 кб/с.
То есть, видеоданные подвержены высокой степени компрессии.
Более того, если это трансляция динамичной игры, то качество исходных видеоданных может быть низкого качества, т.к битрейта 9000 кб/c при кодировании видео могло оказаться слишком мало.
Готовим AV1 правильно
Давайте, наконец-то, перейдём к практике. Вначале определимся с контейнером. В теории, AV1 можно поместить в разные контейнеры, но MP4 компактнее и рекомендуется в спецификации. Для звука в AV1 мы возьмём Opus, потому что отлично сжимает звук.
Чтобы видео работало во всех браузерах, мы будем генерировать 3 файла:
- Для десктопного Chrome и Firefox на Windows (31% рынка на март 2019): контейнер MP4 с AV1 для видео и Opus для звука.
- Для Safari и Edge (16% рынка) — MP4 с HEVC и AAC.
- Для остальных: большой MP4-файл с H.264 и AAC.
Для сжатия я рекомендую взять консольный FFmpeg. Есть много графических утилит, но в консоли легче сохранить опции и потом запускать конвертацию автоматически. Убедитесь, что используете именно последнюю версию FFmpeg. Версии до 4.1 не поддерживают AV1 в MP4.
Переходим к конвертации файла H.264, который нужен нам для старых браузеров. Поскольку все наши файлы используют контейнер MP4, я буду использовать .av1.mp4 , .hevc.mp4 и .h264.mp4 постфиксы. Не пугайтесь длинной команды, мы потом её всю разберём:
Теперь откройте video.h264.mp4 . Если качество хорошее, а размер большой — попробуйте увеличить -crf ( -crf 26 потом -crf 28 ). Эта опция уменьшит размер файла ценой уменьшения качества. Подбор баланса качества и размера — искусство.
Теперь пришло время для конвертации AV1 — напоминаю, будет дольше H.264. Кодек пока не использует всю мощь процессора (имеет смысл запустить конвертацию нескольких файлов параллельно).
Снова поиграйте с -crf для подбора идеального баланса качества и размера.
Теперь то же самое для HEVC.
Скопируйте video.h264.mp4 , video.hevc.mp4 и video.av1.mp4 в корень вашего сайта.
Транскодирование видео
Далее, на YouTube всегда доступно транскодирование , в отличие от Twitch, и ваш стрим или видео, будут иметь несколько копий с более низким разрешением и меньшим битрейтом, между которыми плеер будет автоматически переключаться, анализируя пропускную способность интернета и производительность устройства пользователя.
Это очень важная опция, которая предоставляется платформой для всех и делает видео более доступным для воспроизведения.
Более того, при использовании разрешения 2560x1440 и выше, трансляция или видео будут перекодированы не только в разных разрешениях, но еще и с помощью 2 кодеков одновременно , VP9 и H.264/AVC (для видео еще может быть использован AV1).
Всё это по-прежнему нужно для того, чтобы сделать вашу трансляцию или видео максимально доступными для воспроизведения у пользователей, устройства которых не поддерживают кодек VP9 при декодировании.
Кодеки и контейнеры
С картинками всё просто: или JPEG с PNG для всех браузеров, или делать более компактные файлы в WebP для современных браузеров. Мы всегда можем быть уверены, что в файлах .jpg будет PNG-формат (за редким исключением PNG-бомб, от которых может защитить imgproxy).
С видео-файлами всё сложнее. Расширение файла ( .mp4 , .wmv , .webm или .mov ) говорит только о контейнере. В то время, как видео-файлы состоят из трёх различных компонентов:
- Видео-кодек определяет как сильно вы сможете сжать видео, и чем придётся пожертвовать. Основные видео-кодеки Веба: H.264, HEVC, VP9 и, теперь, AV1.
- Аудио-кодек сжимает звук. Само собой, он не нужен, если в видео нет звука. Популярные варианты: MP3, Opus и AAC.
- Контейнер хранит оба видео- (сжатого каким-то видео-кодеком) и аудио-потока (сжатого каким-то аудио-кодеком). А также дополнительные данные, типа субтитров и мета-информации. Популярные контейнеры: MP4, MOV, WebM.
Кухня Youtube
Самое важное, что следует понимать, что после того, как вы загружаете видео на ютуб или запускаете трансляцию, происходит следующее:
1. Благодаря инфраструктуре по доставке медиаконтента CDN (Content Delivery Network) сервера получают видеоданные для их обработки, хранения и доставки.
2. На серверах, исходя из разрешения видео и частоты кадров , алгоритм принимает решение, с помощью какого кодека сжать полученные видеоданные.
Да, видео или стрим будут еще раз сжаты для того, чтобы они были более доступными и их могли запустить пользователи с различных устройств, с разной скоростью интернета, а также для оптимизации самой платформы, социальных сетей и мобильных устройств.
Здесь как раз и кроется самый важный аспект, от которого будет зависеть качество конечных видеоданных.
Кодек, с помощью которого серверами будет обработано видео или трансляция.
Разбираемся с опциями 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 выставляет имя итогово файла.
Бонус: как сконвертировать GIF в AV1 и H.264
В 2019 использовать GIF для коротких видео — большой грех. GIF весит в 20—40 раз больше, чем H.264 или AV1. GIF сильнее бьёт по CPU, заставляет аккумулятор утекать быстрее. Если вам нужно короткое зацикленное видео, берите видео-кодеки. И FFmpeg может конвертировать видео прямо из GIF.
Конвертируем GIF в H.264:
Генерируем ещё более маленький AV1:
Теперь вставим animation.h264.mp4 и animation.av1.mp4 в HTML.
Опции autoplay и loop делают из видео «гифку» — цикленное видео, которое сразу играет после загрузки страницы. playsinline блокирует Safari от открытия видео на весь экран при клике на видео.
Как получить более качественную картинку
Для этого необходимо, чтобы стрим или загруженное видео сжимались серверами с помощью кодека VP9.
Степень компрессии видеоданных по-прежнему будет очень высокой, но для сжатия будет использован более эффективный кодек VP9, которому требуется до 50% меньше битрейта для достижения такого же качества визуализации как AVC.
VP9 можно получить, если стримить или загрузить видео в 2K разрешении и выше.
Таким образом, битрейт можно выставить еще более высокий, исходя из справки для прямой трансляции, а серверами стрим будет обрабатываться с помощью кодека VP9 во всех разрешениях.
Для загруженного видео может потребоваться значительное время, чтобы оно было перекодировано с помощью VP9, т.к на это необходимо гораздо больше ресурсов. Для трансляций это происходит на лету.
Как включить поддержку AV1 на YouTube
Если вы используете Mozilla Firefox, вам необходимо получить последнюю стабильную версию Firefox для вашего устройства. Если вы используете Google Chrome, вам нужно получить последнюю бета-версию, чтобы это работало. Он будет развернут в Chrome Stable в ближайшее время.
1. Mozilla Firefox
Откройте этот URL-адрес about: config и найдите параметр, помеченный как media.av1.enabled .
Дважды нажмите на него, чтобы переключить его значение на True.
Когда вы закончите, просто перезапустите браузер Mozilla Firefox.
2. Google Chrome
Затем переключите соответствующую запись на Включено.
Перезапустите Google Chrome, чтобы изменения вступили в силу.
Проверьте, включен ли кодек AV1 на YouTube
Проверить, отражены ли только что сделанные вами изменения при воспроизведении видео на YouTube, действительно просто.
Вам просто нужно воспроизвести любое случайное видео на YouTube в любом из настроенных браузеров.
Затем, во время воспроизведения видео, щелкните правой кнопкой мыши по воспроизведению в любой момент времени.
А затем нажмите Статистика для ботаников.
Если вы не включили AV1, вы увидите что-то вроде этого:
И если AV1 включен и работает нормально, вы увидите что-то вроде этого:
Убедитесь, что вы прочитали строку для кодеков. На первом изображении написано VP9 , а на втором изображено AVC1.
Читайте также: