Visiowave avi codec что это

Обновлено: 04.07.2024

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

Чтобы научиться снимать хорошее видео, потребуется приложить определенные усилия, но все становится еще более сложным, когда вы захотите во всей красе продемонстрировать свой шедевр другим людям. Может быть, вам нужно загрузить его на YouTube, может вы собираетесь записать свой Blu-ray или DVD диск, возможно, захотите загрузить видео на мобильный телефон или планшетный компьютер.

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

Какая разница между кодеком и контейнером?

Начинающие пользователи часто бывают озадачены, когда пытаются выяснить разницу между кодеками и контейнерами. Сейчас слово Кодек стало чем-то общеупотребительным, а изначально термин являлся сокращением от понятия КОмпрессор-ДЕКомпрессор. Что же делают кодеки?

Они принимают цифровые медиа данные и либо сжимают их (для передачи и хранения), либо распаковывают для просмотра и перекодирования. Каждый кодек использует определенный метод кодирования и декодирования цифровых данных.


Несжатое (англ. raw означает необработанное или часто говорят « сырое») видео и аудио требует для хранения огромного дискового пространства. Несжатое видео высокой четкости формата 1080i, записываемое со скоростью 50 кадров в секунду, съедает до 410 гигабайт в час. Аудио с CD дисков, довольно устаревшее по современным стандартам, звучит около 74 минут при емкости диска 680 мегабайт. Однако, восьмиканальный звук, кодируемый с 24 битным разрешением, потребует уже 16 мегабит в секунду, или несколько гигабайт в час. Даже возможностей широкополосного соединения с интернет порой не хватит, чтобы послушать музыку в полном аудио разрешении. Вот почему цифровые видео и аудио записи должны быть сжаты для передачи и хранения.

После того как медиа данные ужаты в разумные пределы, они должны быть упакованы для транспортировки и последующего отображения. Для этого используются форматы-контейнеры, выполняющие роль «черного ящика», наполняемого различными медиа-форматами. Хорошие форматы контейнеров могут вмещать файлы, сжатые разными кодеками.

Давайте разберемся с типами кодеков.

Общее понятие о кодеках

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


Ввод и архивирование видео

Большинство устройств современной бытовой электроники получает контент в каком-либо уже сжатом формате. Как правило, только профессиональные видеооператоры работают с несжатым HD видео. Конечно в идеале, если это возможно, при наличии очень емкой системы хранения, видеоархивы нужно хранить в оригинальном формате съемки, потому что при этом обеспечивается максимальное качество. Перекодировка видео из одного типа сжатия в другой может привнести едва различимые искажения, которые могут снизить качество изображения. (Подобные погрешности минимизирует хорошее программное транскодирование.) Сегодня предлагается множество кодеков, с определенной специализацией. С большинством из них обычный пользователь может никогда и не столкнуться. Следующий раздел посвящен кодекам, как системам сжатия/декомпрессии, используемым в составе специального программного обеспечения, которое позволяет кодировать или перекодировать видеофайлы.

x.264/ MPEG-4 AVC (Advanced Video Coding). Этот наиболее распространенный кодек используется в современных цифровых видео- и фотокамерах, в которых результаты съемки сохраняются в виде файлов на встроенных жестких дисках, картах памяти, и т.д.

MJPEG (Motion JPEG). Это более старый формат, используемый некоторыми цифровыми камерами и видеотехникой прежнего поколения. Он был разработан теми же специалистами (Joint Picture Experts Group), которые занимались еще ранее разработкой кодека JPEG для сжатия обычных статичных изображений, отсюда и название этого кодека.

DV и HDV. Стандарт DV был разработан консорциумом компаний производителей видеотехники для ленточных систем хранения информации и часто использовался в видеокамерах со слотом для ленточных мини кассет. Некоторые версии DV успешно использовались в профессиональных видеокамерах, была разработана версия HDV для поддержки высокого разрешения с ленточными кассетами.


Дисковые форматы

Перейдем к устаревающим уже DVD или чуть более модным Blu-ray дискам. Несмотря на растущую популярность потокового видео, возможность передачи медиа данных с помощью дисков в обозримом будущем по-прежнему будет востребована. Записанные на диски материалы спокойно можно передавать там, где нет каналов связи и смотреть везде, даже там, где нет возможности подключиться к интернету.

MPEG-2. Необходимо различать кодек MPEG-2, также известный как x.262, от формата контейнера MPEG-2. MPEG-2 используется для сжатия видео на дисках DVD и сигналов телевидения высокой четкости (DVB), передаваемого по эфирным каналам. Первоначально MPEG-2 применяли и для сжатия на Blu-ray дисках, хотя большинство современных Blu-ray фильмов не используют MPEG-2.

x.264/MPEG-4 AVC. x.264 используется при сжатии видео для Blu-ray дисков. По сути это тот же кодек, который применяется для сжатия видео в современных видеокамерах. Данный метод очень масштабируемый и при высоком битрейте сжатое по стандарту x.264видео выглядит просто фантастически.

Microsoft VC-1. Microsoft VC-1 включает три разных по степени сжатия кодека. VC-1 Advanced Profile, также известный как Windows Media Video 9 Advanced Profile или просто WVC1 является одним из трех кодеков, применяемых для кодирования содержимого Blu-ray дисков. VC-1 в качестве альтернативы технологии Adobe Flash используется в интернет-платформе Microsoft Silverlight.


Потоковое и веб видео

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

MPEG-1. Это старый боевой конь для доставки видео в сети интернет. Хотя YouTube, Netflix, и другие поставщики относительно качественного потокового видео уже отказались от MPEG-1, масса видео стандартного разрешения на базе MPEG-1 все еще доступна на других сайтах.

WMV (Windows Media Video). Есть Windows Media Video кодек и контейнерный формат файла. Хотя, этот метод сжатия был и не так используем, как MPEG-1, в сети все еще есть много WMV контента. Но при создании своих видеоматериалов, его очевидно также не стоит применять.

x.264/ MPEG-4 AVC. x.264 обеспечивает при относительно низкой скорости передачи, достаточно высокое качество видео. x.264, вероятно, становится наиболее распространенным кодеком. Adobe поддерживает его во Flash, x.264может использоваться с изображениями HTML 5, на x.264ориентируется YouTube и Apple полностью поддерживает этот метод компрессии. Однако при создании видео сжатого в форматах x.264вы не сможете воспроизводить их на старых устройствах, это ставка на будущее.

Правильный контейнер: гибкий и удобный

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

Контейнеры для архивирования и ввода

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

Advanced Systems Format (ASF) – разработанный Microsoft контейнерный формат. Встречается несколько расширений, включая .asf, .wma и.wmv. Отметьте, что файл с расширением .wmv, вероятно, сжат кодеком WMV (Windows Media Video), но сам файл помещен в контейнерный файл ASF. Файлы ASF, в теории, могут содержать видео и аудио файлы, сжатые любым кодеком. Однако, практически воспроизведение иногда может стать проблемным, особенно с видео, сжатым кодеками x.264. Если вы планируете пользоваться продуктами Microsoft, ASF прекрасный выбор, но могут быть проблемы с медиа файлами на основе иных кодеков.

Audio Video Interleave (AVI) – один из более старых контейнерных форматов Microsoft. Вероятно, его уже не стоит использовать в новых проектах.


QuickTime: компания Apple продвигает собственный контейнерный формат QuickTime, который поддерживает множество кодеков для аудио и видео. Apple - убежденный сторонник x.264, таким образом, файлы QuickTime (.mov, .qt) могут содержать видео, сжатое кодеком x.264.

MP4. Этот контейнерный формат разработан Motion Pictures Expert Group, известен также как MPEG-4, часть 14. Видео внутри файлов MP4 кодируется кодеком x.264, а аудио – кодеком AAC, но могут использоваться и другие стандарты сжатия звука.

VOB и BDAV MPEG-2. Эти контейнерные форматы используются для упаковки данных на DVD и Blu-ray дисках, соответственно. В файлах Blu-ray дисков (.m2ts) могут содержаться видеозаписи сжатые кодеками x.264и VC-1, звук может быть сжат одним из кодеков Dolby или использоваться несжатый многоканальный сигнал в формате PCM.

AVCHD: Этот стандарт контейнера применен во многих видеокамерах. Снимаемое видео предварительно сжимается кодеком x.264. Аудиосигнал для контейнера кодируется кодеком Dolby Digital (AC3) или используется несжатый – PCM.


Flash: Компания Adobe имеет собственный контейнерный формат Flash, который поддерживает множество кодеков. Большая часть недавно созданного Flash видео кодирована с использование видеокодека x.264и аудиокодека AAC, но не стоит ожидать, что на всех сайтах используются только эти кодеки, особенно для ранее созданного видео.

Прочие контейнеры: Среди прочих форматов контейнеров, широко используемых особенно для доставки видео через интернет, можно упомянуть популярный во многом за счет своей универсальности и открытого кода формат Matroska (.mkv, .mk3d, .mka, .mks), а также OGG и DiVX. Файлы с расширением .divx вмещают видео, ужатое одноименным кодеком с пиратской родословной, который позволяет получить достаточно высокое качество видео при эффективной компрессии видеоматериалов. Долгое время Divx официально не признавался и его использование не приветствовалось. Однако сегодня многие известные производители уже встраивают аппаратные кодеки DiVX в свою видеотехнику.

Какой кодек и контейнер выбрать

Если вы будете размещать свое видео на домашнем сервере, с тем чтобы впоследствии смотреть его на экране телевизора, подключаемого непосредственно к сети или через медиаплеер, необходимо выяснить какие форматы распознают телевизор и плеер. Практически всеми устройствами поддерживается сегодня кодирование в соответствии со стандартом MPEG-2, но в этом случае потребуется достаточно большой объем для хранения видео в HD разрешении. Очевидно, наиболее подходящим в ближайшем будущем можно считать различные варианты кодека x.264, в котором реализован алгоритм сжатия, поддерживаемый всеми популярными контейнерами.


Если больше интересует воспроизведение готового видео, и вы планирует нарезать (ripping) фильмы из своей персональной коллекции DVD дисков для передачи по домашней сети, вас может устроить контейнер MP4, как удачный компромисс между степенью сжатия и качеством.

Разбираемся с форматами и кодеками видео

Современные медийные платформы позволяют пользователям наслаждаться высокодетализированным видео и потрясающими аудиоэффектами в режиме онлайн.

Однако создание подобного контента было бы невозможно без существования кодеков и контейнеров.

Чем кодеки отличаются от контейнера — их часто путают

Для ответа на вопрос, чем кодеки отличаются от контейнеров, необходимо понять, что такое кодеки.

Смысл понятия «кодек» лежит прямо в его названии:

Фактически кодек — это цифровой инструмент компрессии и декомпрессии данных. Компрессия (сжатие данных) необходима для экономии занимаемого файлом места. Например, несжатое видео высокой четкости в raw-формате, при 60 кадрах в секунду способно достигать размеров в полтерабайта на каждый час записи.

Восьмиканальная аудиодорожка в 24-битном разрешении будет занимать 16 мегабит за одну секунду записи. Такие объемы данных не подходят ни для штатного хранения, ни для их передачи онлайн, поэтому для их сжатия применяются специальные формулы, которые и называются кодеками.


Для хранения сжатой информации создаются контейнеры-обертки в определенном формате. Современные контейнеры способны хранить информацию, обработанную разными кодеками. Такие обертки указывают устройству на то, какими кодеками была сжата информация, и по какой формуле ее восстанавливать.

Если разобрать стандартное видео со звуком на кодеки и контейнеры, в результате получится три составные части:

  • Видеокодек, отвечающий за степень сжатия и потери качества в процессе.
  • Аудиокодек, отвечает за хранение звуковой дорожки.
  • Контейнер-обертка, хранилище обоих кодеков и дополнительной метаинформации.

В случае если в видео нет звука, аудиокодек не нужен.

Популярные и прогрессивные кодеки


Большинство создаваемого видеоконтента обрабатывается кодеками XviD, MPEG-1\2, H.264, MPEG-4, DivX, WMV, MJPEG, RealVideo, Bink Video и их вариациями. Для аудиоформатов в основном используют AAC, Opus и MP3-кодеки. Из новинок стоит отметить кодек H.266/VVC, разрабатываемый для потоковой передачи видео в 4K и 8K.

Новый кодек позволяет вдвое сократить объем файла относительно H.265 кодека за счет более сложных алгоритмов. Сложные вычисления потребляют больше ресурсов, до 1000 % от потребления H.265 при кодировании, и до 200% при декодировании.

Какие кодеки в основном поддерживаются современными ТВ и обновляются ли они с прошивкой

Современные системы поддерживают большинство существующих кодеков.

Поддержка кодеков MPEG от первого до четвертого, вариации H.264 для воспроизведения Blu-Ray, а также XviD и DivX, входят в базовый пакет любого современного телевизора.

Ведущие производители всегда следят за ошибками и актуальностью своего программного обеспечения.

Обновление кодеков в процессе прошивки регулируется разработчиками индивидуально под каждую модель SmartTV.

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

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

Какие кодеки используются при проигрывании онлайн-видео (современные кодеки youtube)

В настоящее время стандартом большинства видеосервисов стали кодеки H.264 и MPEG-4, значительно реже встречаются кодеки FFDshow, XviD и DivX.


Одним из самых перспективных кодеков является бесплатный AV1-кодек. Разработан сообществом AOMedia, включающим в себя таких гигантов как AMD, Google, Netflix, Mozilla, Nvidia, Intel, ARM и Cisco. Исходный код кодека открыт и свободно распространяется без каких-либо лицензионных отчислений.

Что даст конечному пользователю переход ютуба на современный AV1


Кодек AV1 разрабатывался для воспроизведения видео онлайн, в браузерах Safari, Firefox, Edge и Chrome. Степень сжатия видео кодеком AV1 превосходит кодеки VP8 и H.264 от 30% до 50%, а кодек HEVC до 30–43 % на высоких битрейтах.

Полный переход видео платформы YouTube на AV1-кодек не только ускорит загрузку всех видеороликов от 20% до 50%, но и позволит стримить в разрешении 4K.

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


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

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

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

Когда мы говорим о видеокодеках, мы говорим об этих различных методах сжатия. И важно знать, что контейнерные файлы могут поддерживать несколько кодеков. Даже если ваше устройство знает, как читать формат видео контейнера MP4, оно может не знать, как декодировать видеодорожку в этом файле MP4, который может быть закодирован как Xvid, x264 или x265. Или, может быть, оно не может прочитать аудиодорожку, которая может быть закодирована с использованием любого количества методов сжатия звука. Некоторые из распространенных видео расширений, с которыми вы можете столкнуться, обсуждаются ниже.


Основные видео контейнеры

  • MP4 (MPEG-4) - Это стандарт, разработанный группой экспертов Motion Pictures и введенный еще в 1998 году, главным образом для обмена файлами в Интернете. Этот формат использует различные методы сжатия для аудио и видео файлов. Для аудио он использует кодек AAC, а для видео - кодек MPEG-4 или H.264 . Он совместим практически со всеми медиапроигрывателями, веб-браузерами и используется в ряде платформ для обмена видео или потоковой передачи. Он также уменьшает размер видеофайлов, сохраняя при этом достойное качество.
  • MKV (Matroska Video Container) - Возвращаясь к своему созданию в 2002 году , формат MKV остается одним из самых универсальных, поддерживающих широкий спектр типов кодеков как для видео, так и для аудио. Он может содержать более одного субтитра, главы и другие дополнения, что делает больше возможностей доступными с этим форматом файла. Тем не менее, он не так популярен, как остальные в этом списке, но вы сможете проигрывать его на большинстве устройств в зависимости от кодека внутри.
  • AVI (Audio Video Interlaced) - Без сомнения, AVI является старейшим из существующих здесь и поддерживает практически все типы кодеков под солнцем. Это также очень распространено и может использоваться почти в любой форме для любых целей. Видео в этом формате могут воспроизводиться большинством медиаплееров, особенно старых.

Основные видео кодеки

  • WMV (Windows Media Video) - впервые представленный в 1999 году, WMV - это собственный кодек, разработанный Microsoft для использования с их собственным форматом контейнера ASF. Файл с расширением WMV является контейнером ASF с видеодорожкой WMV, но видеодорожки WMV также могут храниться в контейнерах AVI или MKV. Большинство устройств Microsoft по-прежнему поддерживают его, но в последние годы оно перестало пользоваться популярностью.
  • Xvid (H.263/MPEG-4, часть 2) - Впервые представленная в 2001 году в качестве конкурента DivX с открытым исходным кодом, Xvid стала популярной благодаря своей способности сжимать DVD-фильмы до размеров CD без ущерба для качества. Большинство игроков поддерживают Xvid сегодня.
  • x264 (H.264/MPEG-4 AVC) - впервые представленный в 2003 году, H.264 наиболее известен как один из стандартов кодирования, используемых для видео Blu-ray, и как самый популярный стандарт кодирования для потоковой передачи видео, используемый такими сайтами, как YouTube, Vimeo и т. Д. X264 - это реализация с открытым исходным кодом, которая якобы производит видео более высокого качества при меньших размерах файлов.
  • x265 (H.265/MPEG-H HEVC) - впервые представленный в 2013 году, H.265 является новым заменителем H.264, позволяющим более чем вдвое сжимать данные при сохранении того же качества видео. Он также поддерживает разрешения до 8K. Все это означает, что H.265 проложит путь к видео более высокого качества, сохраняя при этом разумные размеры файлов. x265 - это реализация с открытым исходным кодом. Поскольку H.265 настолько нов, он еще не получил широкой поддержки.

MP4, MKV, AVI - форматы видео-файлов и кодеки

MP4, MKV, AVI - форматы видео-файлов и кодеки Reviewed by Admin on марта 25, 2019 Rating: 5

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

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

AV1 в браузере

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

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

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

С картинками всё просто: или JPEG с PNG для всех браузеров, или делать более компактные файлы в WebP для современных браузеров. Мы всегда можем быть уверены, что в файлах .jpg будет 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.

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


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

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

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


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

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


Скопируйте 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 выставляет имя итогово файла.

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

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


<source> похожи на выражения 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:


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


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


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

Читайте также: