H264, чем открывать на Android
Обновлено: 21.11.2024
x264 – это бесплатная программная библиотека и приложение для кодирования видеопотоков в формат сжатия H.264/MPEG-4 AVC, выпущенное в соответствии с условиями GNU GPL.
Обзор функций
- Обеспечивает лучшую в своем классе производительность, сжатие и функции.
- Достигает впечатляющей производительности, кодируя 4 или более потоков 1080p в реальном времени на одном потребительском компьютере.
- Обеспечивает наилучшее качество благодаря самой передовой психовизуальной оптимизации.
- Поддержка функций, необходимых для многих различных приложений, таких как телевизионное вещание, видеоприложения Blu-ray с малой задержкой и веб-видео.
- x264 лежит в основе многих веб-видеосервисов, таких как Youtube, Facebook, Vimeo и Hulu. Он широко используется телевещательными компаниями и интернет-провайдерами.
Получение x264
Источник
Последний исходный код x264 доступен в репозитории git:
Двоичные файлы приложения
Официальные сборки для Windows, Linux и MacOSX доступны здесь.
Функции кодировщика
- Адаптивное пространственное преобразование 8 x 8 и 4 x 4.
- Адаптивное размещение B-кадра
- B-кадры в качестве ссылок/произвольный порядок кадров
- Энтропийное кодирование CAVLC/CABAC
- Пользовательские матрицы квантования
- Intra: все типы макроблоков (16 x 16, 8 x 8, 4 x 4 и PCM со всеми предсказаниями)
- Inter P: все разделы (от 16 x 16 до 4 x 4)
- Inter B: разделы с 16 x 16 до 8 x 8 (включая пропуск/прямой доступ)
- Чересстрочная развертка (MBAFF)
- Несколько эталонных фреймов
- Управление скоростью: постоянный квантизатор, постоянное качество, одно- или многопроходный ABR, необязательный VBV.
- Распознавание сцен
- Пространственный и временной прямой режим в B-кадрах, выбор адаптивного режима
- Параллельное кодирование на нескольких процессорах
- Прогнозирующий режим без потерь
- Psy-оптимизация для сохранения деталей (адаптивное квантование, psy-RD, psy-trellis)
- Зоны для произвольной настройки распределения битрейта
Награды
25 мая 2010 г. — x264 победил в шестом конкурсе MSU MPEG-4 AVC/H.264 Video Codecs Comparison с кодированием на ~24 % лучше, чем второе место.
26 декабря 2005 г. — x264 победил в перестрелке кодеков Doom9 2005 г., опередив Ateme на волосок.
12 декабря 2005 г. — x264 разделил первое место (вместе с Ateme) во втором ежегодном сравнении кодеков MSU MPEG-4 AVC/H.264.
Поддержка
Чтобы получить информацию о поддержке и задать вопросы, у вас есть следующие возможности:
Сообщайте о любых ошибках в системе отслеживания ошибок.
Если это сбой, скомпилируйте x264 с помощью ./configure --enable-debug и следуйте инструкциям ffmpeg по сообщениям об ошибках.
Лицензирование
Программное обеспечение, использующее x264
Если вы используете x264 в другом проекте, дайте нам знать!
Юридическая информация | Сообщить о злоупотреблении товарным знаком
VideoLAN, VLC, VLC media player и x264 являются товарными знаками, зарегистрированными на международном уровне некоммерческой организацией VideoLAN.
Программное обеспечение VideoLAN распространяется по различным лицензиям с открытым исходным кодом: использование и распространение определяются каждой лицензией на программное обеспечение.
Дизайн Made By Argon. Некоторые значки доступны под лицензией CC BY-SA 3.0+.
Значок конуса VLC был разработан Ричардом Ойестадом. Иконки для VLMC, DVBlast и x264 разработаны Романом Храмовым.
Программное декодирование HEVC можно выполнить на Android с помощью программного декодера Google HEVC или FFmpeg.
- Программный декодер Google HEVC. Google рекламирует HEVC как поддерживаемый формат мультимедиа на Android, начиная с версии 5.0.
- Декодирование FFmpeg. FFmpeg обычно предустановлен на пользовательских ПЗУ, таких как LineageOS.
Как я могу играть в Hevc x265 на Android?
Лучше всего найти видеопроигрыватель, например приложение DivX Mobile. Приложение DivX будет использовать оборудование HEVC, когда это возможно, или программное обеспечение HEVC, когда это необходимо. Кроме того, если вы обнаружите видео, которое не может воспроизвести мобильное приложение, вы можете использовать DivX Converter для преобразования видео в формат, поддерживаемый мобильным приложением.
Должен ли я использовать H 264 или H265?
Как правило, новые стандарты сжатия видео обеспечивают более высокую производительность по сравнению с существующими. Например, известно, что H. 265 HEVC на 40 % эффективнее, чем H. 264, но при этом стоит в 10 раз больше сложности.
В чем разница между H 264 и H 265?
Х. 264 позволяет использовать только макроблоки размером 16 x 16 пикселей, которые слишком малы, чтобы быть по-настоящему эффективными в видео с более высоким разрешением. H.265 обеспечивает макроблоки размером 64 x 64 пикселя (теперь называемые единицами дерева кодирования или CTU), что позволяет повысить эффективность кодирования при всех разрешениях.
Что быстрее H 264 или H 265?
Х. 265 более совершенен, чем H. 264, по нескольким параметрам. Основное отличие состоит в том, что HEVC позволяет еще больше уменьшить размер файла и, следовательно, уменьшить требуемую пропускную способность для ваших прямых видеопотоков.
ProRes лучше, чем H 264?
ProRes стал популярнее в качестве промежуточного кодека (Paul, 2015). Для сравнения, H. 264 гораздо более сжат, чем ProRes 422. ProRes 422 лучше подходит для редактирования, поскольку вы можете корректировать цвет и добавлять эффекты без потери качества.
Какой лучший кодек ProRes?
Хороший ли кодек H264?
Это потому, что h. 264 гораздо более эффективный кодек, чем ProRes. Потому что ч. 264 использует сжатие long-GOP, он может упаковать гораздо больше информации в эти 100 мегабит, чем ProRes.
Какой лучший кодек для редактирования?
Ниже приведен список некоторых наиболее часто используемых кодеков и их назначение.
- Х. 264.
- КРАСНЫЙ КОД. Red Digital Cinema использует собственный кодек для своих кинокамер.
- ProRes. Apple ProRes — это серия кодеков сжатия как без потерь, так и с потерями, которые были разработаны для промежуточной постобработки.
- CinemaDNG.
- AVI.
- MOV.
- AVCHD.
Какой лучший кодек для YouTube?
Какое качество видео лучше?
Самые распространенные расширения видеофайлов.
- MP4. MP4 (MPEG-4, часть 14) — наиболее распространенный формат видеофайлов.
- МОВ. MOV (QuickTime Movie) хранит высококачественное видео, аудио и эффекты, но эти файлы, как правило, довольно большие.
- WMV.
- AVI.
- AVCHD.
- FLV, F4V и SWF.
Можете ли вы конвертировать MPEG4 в MP4?
На панели слева нажмите перевернутый треугольник рядом с пунктом «Формат вывода», выберите «Видео» > «MP4» и укажите разрешение. Наконец, нажмите Преобразовать, чтобы начать процесс преобразования. Выбранный файл MPEG4 будет успешно преобразован в формат MP4.
С начала 2000-х цифровое видео прошло долгий путь. Мы видели, как качество изображения стремительно улучшалось в тандеме с внедрением новых технологий отображения, таких как OLED. Как потребители, мы также предъявляем более высокие требования, чем когда-либо прежде, как дома, так и в отношении портативных устройств, таких как смартфоны и планшеты. Кодеки обеспечивают все это, сжимая большие объемы необработанной информации в видеофайл, который гораздо удобнее хранить, транслировать и распространять.
На протяжении многих лет крупные игроки отрасли, такие как Google, Intel и Apple, интересовались новыми способами сжатия и упаковки видео. Возможно, вы слышали, например, о том, что YouTube принял новый стандарт AV1, а новые модели iPhone предназначены для профессиональных видеооператоров с кодеком Apple ProRes. Действительно, в настоящее время используется как минимум несколько различных стандартов, каждый из которых имеет свои сильные и слабые стороны.
При таком большом количестве предлагаемых видеокодеков стоит обсудить, что они делают, почему индустрия цифрового видео все еще фрагментирована и чем некоторые из самых популярных стандартов отличаются друг от друга. Вот все, что вам нужно знать.
Что такое видеокодек?
Сам термин "кодек" дает подсказку для понимания того, как все это работает. Это просто сокращение для кодирования и декодирования. Вы спросите, почему видео кодируются и декодируются? Проще говоря, это потому, что они обычно содержат много необработанных данных.
Возможно, вы слышали, что видео — это, по сути, серия неподвижных изображений. Кинопроекторы старой школы — лучшая демонстрация этого принципа. Им физически подается катушка с пленкой, и они показывают вам 24 кадра в секунду, обманывая ваш мозг, заставляя думать, что это кинофильм.
Хотя вы могли бы сделать то же самое с цифровыми изображениями, объем хранилища, необходимый для такого большого объема данных, невообразим. По расчетам Mozilla, одно 30-минутное видео, хранящееся в виде необработанных изображений, будет весить более 1 ТБ. Для сравнения, это в десять раз больше общей емкости обычного смартфона на 128 ГБ.
С этой целью хранение и воспроизведение видео просто невозможно без использования сложных алгоритмов сжатия в виде кодеков. Также стоит отметить, что кодеки существуют и для аудио по многим из тех же причин. Необработанные и несжатые видео и аудио могут быстро увеличиваться в размерах, что делает невозможным их редактирование, хранение и распространение.
Как работают кодеки?
Хотя кодеки используют несколько сложных алгоритмов сжатия, несколько основных методов легко визуализировать. Например, что, если вы храните только информацию, связанную с изменениями между одним кадром и другим, вместо того, чтобы хранить полноразмерные изображения?Таким образом, можно значительно сжать несколько минут, в основном статичную сцену. Например, человек, говорящий на фиксированном фоне, не будет иметь большого движения, и это довольно распространенный сценарий в большинстве видеороликов и фильмов.
Вы также можете сделать еще один шаг вперед, используя векторы движения и алгоритмы компенсации. Они могут достигать более высоких уровней сжатия, предсказывая, где конкретный пиксель заканчивается в будущем кадре. Например, если камера просто панорамирует по горизонтали, кодек может сказать, что конкретный пиксель будет смещен влево или вправо через несколько кадров.
Еще один метод сжатия включает в себя группировку соседних пикселей с похожими цветами. Однако в крайних случаях именно это приводит к печально известному «блочному» виду видео низкого качества. В этом случае сжатый файл просто не содержит достаточно информации для декодера, чтобы восстановить исходное изображение.
В умеренных количествах эти методы сжатия — наряду с другими — могут обеспечить приемлемо точное изображение в несколько раз меньше исходного размера. Хотя при сжатии вы неизбежно теряете некоторую информацию, это, по меньшей мере, оправданный компромисс.
Каждый видеокодек использует немного отличающийся подход или метод для достижения сжатия. И, как и следовало ожидать, новые кодеки предназначены для сохранения или улучшения качества изображения при одновременном уменьшении размера файла.
Почему важны видеокодеки?
От приложений для чата, таких как WhatsApp, до потоковых сервисов, таких как Netflix и Disney+, кодеки открывают дверь во многие варианты использования смартфонов, которые мы считаем само собой разумеющимися.
Публикация медиафайла в таких службах, как Facebook или Twitter, например, обычно требует перекодирования видео в меньший размер. То же самое относится и к фотографиям и аудиофайлам. Точно так же потоковые компании, такие как YouTube, кодируют и хранят каждый фрагмент мультимедиа в различных качествах и кодеках. Затем они предоставят правильную версию в зависимости от возможностей вашего устройства и скорости соединения.
От потоковых сервисов до приложений для чата — видеокодеки являются неотъемлемой частью нашей связанной жизни. Тем не менее, мы редко замечаем их влияние.
Несмотря на то, что скорость Интернета за последние годы значительно улучшилась, большинству из нас по-прежнему приходится сталкиваться с ограничениями на передачу данных и периодической медлительностью. Не говоря уже о том, что портирование видео высокого разрешения быстро занимает наше ограниченное мобильное хранилище. Новые кодеки разрабатываются с учетом этих ограничений.
Таким образом, видеокодеки также могут пригодиться при записи видео. Многие современные устройства Android предлагают возможность записи с использованием более эффективного кодека, что позволяет сэкономить драгоценное место на диске.
Чтобы проанализировать это, я записал на свой смартфон два 20-секундных клипа 4K — один с кодеком H.264 по умолчанию, а другой с более эффективным кодеком H.265 (подробнее об этом чуть позже). Размер файла первого клипа составил 125 МБ, а второго — 90 МБ.
Эти цифры соответствуют 30-процентной разнице в размере файла только из-за изменения одной настройки! Более того, должна быть возможность еще больше сжать файл, используя более мощное оборудование, чем SoC смартфона. Для стриминговых компаний, таких как Netflix или YouTube, переход на более эффективный кодек может снизить требования к хранилищу и пропускной способности почти вдвое, сэкономив при этом колоссальные суммы денег.
Как узнать, какие кодеки поддерживает ваш смартфон или устройство
Наличие специального оборудования может существенно повысить производительность кодирования и декодирования видео. С этой целью чипы в наших телевизорах, мобильных телефонах, компьютерах и даже игровых приставках поддерживают фиксированный набор кодеков на аппаратном уровне. Другими словами, они способны чрезвычайно эффективно сжимать и распаковывать видеофайлы, используя аппаратное ускорение. Это особенно важно для смартфонов, поскольку чем меньше нагрузка на процессор, тем дольше время работы от батареи.
Однако вы все равно можете столкнуться с видеофайлом, который нельзя воспроизвести или открыть ни в одном приложении — скорее всего, он использует кодек, который ваше устройство либо не поддерживает, либо не распознает. Чтобы убедиться в этом, вы можете использовать такое приложение, как MediaInfo, чтобы определить формат видео и сведения о кодировке. На Android вы можете использовать бесплатные приложения, такие как Codec Info или AIDA64, чтобы проверить, поддерживает ли ваше устройство аудио- и видеокодеки. Если определенного кодека нет в списке, скорее всего, SoC вашего устройства его не поддерживает. Если вам интересно, на веб-сайте разработчиков Android есть список обязательных кодеков.
Тем не менее, современные смартфоны обладают достаточной мощностью процессора для декодирования неподдерживаемых кодеков. С этой целью сторонние приложения для видеоплееров, такие как VLC, будут предлагать воспроизведение таких файлов с помощью программного декодирования без какого-либо аппаратного ускорения. Однако это может привести к нагреву устройства и разрядке аккумулятора в течение более длительного времени, поэтому лучше не полагаться на это.
Краткая история видеокодеков
Конкурирующие кодеки и стандарты когда-то были серьезной проблемой для видеоиндустрии. Многие популярные кодеки действительно хорошо работали только с оборудованием определенных производителей. К счастью, за последние несколько лет производители устройств сосредоточились на нескольких кодеках. Хотя фрагментация больше не является проблемой, все же стоит знать, с какими кодеками вы, вероятно, столкнетесь в реальном мире, и как мы к этому пришли.
MPEG-2
MPEG-2 — это, возможно, самый старый видеокодек, который все еще используется сегодня. Он стал чрезвычайно популярным в начале 2000-х годов, когда его почти исключительно использовали для сжатия телевизионных передач и выпусков фильмов на DVD. Некоторые ранние выпуски Blu-Ray также использовали MPEG-2 для контента высокой четкости.
Сегодня в формате MPEG-2 практически не кодируется новый контент. Однако поддержка декодирования для него чрезвычайно распространена, особенно потому, что многие новые устройства обратно совместимы с ним. В наши дни легко найти устройство, способное воспроизводить файлы MPEG-2, от простых DVD-плееров до компьютеров десятилетней давности.
Advanced Video Coding (AVC), или H.264, как его чаще называют, – это новый король видеокодеков с точки зрения совместимости и внедрения. Его популярность росла вместе с появлением видео высокой четкости из-за его повышенной эффективности по сравнению с предыдущими кодеками. H.264 обеспечивает аналогичное качество изображения при размере примерно 50 % от размера видео в формате MPEG-2.
H.264 стал настолько эффективным по сравнению с предыдущими кодеками, что быстро стал стандартом де-факто для HD-видео. Это особенно актуально для приложений с ограниченной пропускной способностью, таких как потоковое видео через Интернет. Фактически, кодек H.264 позволил YouTube впервые представить поддержку разрешений 720p и 1080p еще в 2008 и 2009 годах соответственно. Даже десятилетие спустя вы обнаружите, что H.264 широко используется для потоковой передачи видео, дисков HD Blu-Ray и телевизионных трансляций.
В результате такого широкого распространения почти все основные аппаратные и программные средства сегодня поддерживают этот кодек. Неудивительно, что многие смартфоны и цифровые камеры также записывают в формате H.264, чтобы обеспечить максимальную совместимость с другими устройствами.
H.265 или HEVC
Высокоэффективное кодирование видео, или HEVC, стало продолжением невероятно популярного кодека H.264. Как следует из названия, он предлагает довольно значительный скачок в эффективности по сравнению с предыдущими кодеками, что делает его легким для приложений, чувствительных к полосе пропускания, и контента сверхвысокого разрешения.
Подъем HEVC совпал с появлением дисплеев и выпусков с разрешением 4K. С этой целью последний стандарт Blu-Ray — Ultra HD Blu-Ray — основан на кодеке H.265. Вы также, вероятно, столкнетесь с H.265 при попытке записать видео 4K и 8K на смартфоны, особенно при съемке в формате HDR, таком как Dolby Vision.
Однако HEVC не смог завоевать такое же признание, как H.264, в других областях, несмотря на его преимущества. В течение многих лет внедрение H.265 сдерживалось неопределенностью в отношении лицензионных и лицензионных отчислений кодека. С тремя разными заинтересованными сторонами по сравнению с одной группой лицензирования H.264 игрокам в индустрии контента, оборудования и программного обеспечения потребовались годы, чтобы подготовиться к HEVC. И даже сейчас основные веб-браузеры, такие как Google Chrome и Mozilla Firefox, вообще не поддерживают его.
Нерешительность по поводу особенностей патентов и роялти HEVC побудила Google взять дело в свои руки и разработать альтернативу с открытым исходным кодом под названием VP9. Он обеспечивает аналогичный прирост эффективности на 30% по сравнению с H.264, что делает его идеальным выбором для видеофайлов с высоким разрешением. Что еще более важно, VP9 полностью бесплатен, а это означает, что компаниям не нужно ничего платить Google, чтобы добавить его поддержку.
Компания Google разработала VP9 как бесплатный и открытый кодек, чтобы избежать запутанной ситуации с лицензионными отчислениями H.265.
Google поддержал внедрение VP9, когда решил использовать его для видео 4K на YouTube. Начиная с 2016 года также требуется, чтобы производители устройств Android TV поддерживали этот кодек. И того, и другого было достаточно, чтобы продвинуть VP9 к успеху, по крайней мере, в большей степени, чем HEVC. Неудивительно, что практически все смартфоны, браузеры и телевизоры, выпущенные с 2017 года, могут обрабатывать контент в кодировке VP9.
Однако не многие поставщики контента приняли VP9. Помимо собственных платформ Google YouTube и Stadia, на короткое время ее внедрила только Netflix.
AV1 — новейший видеокодек в этом списке, который также может стать преемником популярного H.264. Как и VP9, он имеет открытый исходный код и не требует лицензионных отчислений. Что еще более важно, гораздо больше компаний поддерживают его, чем любой предыдущий кодек. Разработкой AV1 руководит Alliance of Open Media — межотраслевая коалиция таких гигантов, как Intel, Apple, Google, Adobe, Facebook и Arm. С такой поддержкой трудно представить, что AV1 будет давать сбои, как HEVC и другие кодеки, разработанные для эпохи потоковой передачи.
Проведенное Facebook в 2018 году тестирование показало, что AV1 обеспечивает сжатие на 50 % лучше, чем H.264. Другой тест показал, что AV1 предлагает уменьшение размера файла на 10% и 15% по сравнению с HEVC и VP9 соответственно. Эти цифры означают, что фильм Blu-Ray 1080p размером 25 ГБ, закодированный в формате H.264, можно сжать до 12–13 ГБ с помощью AV1 — и все это без ухудшения качества изображения.
Кодек AV1 поддерживается Alliance of Open Media — межотраслевой коалицией таких гигантов, как Intel, Apple, Google, Adobe, Facebook и Arm.
Несмотря на то, что спецификация AV1 была завершена примерно в 2019 году, ее внедрение продвигалось медленнее, чем можно было ожидать. Это связано с тем, что до относительно недавнего времени практически ни одно аппаратное обеспечение на рынке не предлагало кодирование с аппаратным ускорением для кодека. Без этого, по оценкам Московского государственного университета, кодирование AV1 в 2 500–3 000 раз медленнее, чем у конкурентов.
Точно так же не были широко распространены возможности декодирования AV1. В экосистеме Android Mediatek Dimensity 1200 стал первым чипсетом, который в начале 2021 года включил аппаратное ускорение для AV1. Однако его прямые конкуренты — SoC Qualcomm Snapdragon 888 и 870 — вообще не поддерживали этот кодек. Qualcomm не является частью Alliance of Open Media и не поддерживает AV1 в своем последнем чипсете Snapdragon 8 Gen 1.
После того, как аппаратная поддержка AV1 станет более распространенной, мы, вероятно, увидим, что все больше и больше сервисов используют ее. YouTube и Netflix уже используют AV1 на Android, как и Google Duo. Кроме того, этот кодек поддерживают все основные веб-браузеры, кроме Safari.
Apple ProRes
В отличие от других кодеков в этом списке, ProRes — это относительно нишевый видеокодек, предназначенный почти исключительно для видеоредакторов и профессионалов. Проще говоря, видео, хранящиеся в формате ProRes, сохраняют больше информации с более низким уровнем сжатия. Это упрощает постобработку, например цветокоррекцию, поскольку в файле по-прежнему сохраняется достаточное количество необработанной информации с камеры.
Конечно, больше информации и более низкий коэффициент сжатия означают, что файлы ProRes, как правило, немного больше. Согласно официальному документу Apple с подробным описанием кодека, один час видео 4K 30 кадров в секунду, закодированного в ProRes, даст размер файла более 280 ГБ! Вот почему ProRes почти никогда не используется для доставки контента и только на промежуточных этапах производства. На самом деле Apple даже не позволит вам записывать видео 4K ProRes на модель iPhone 13 128 ГБ.
Apple ProRes — это промежуточный кодек, в котором качество важнее сжатия. Он предназначен для редактирования видео и цветокоррекции, а не для доставки контента, как другие кодеки.
В 2021 году Apple объявила, что iPhone 13 станет первым смартфоном, который может снимать видео напрямую в формате ProRes. Позже в том же году производитель дронов DJI выпустил Mavic 3 Cine — свой флагманский потребительский дрон — с возможностью записи в формате ProRes. Что касается кодирования, Apple включила специальные ускорители ProRes в свои медиадвижки M1 Pro и M1 Max SoC.
И теперь вы в курсе всех популярных сегодня видеокодеков. Чтобы узнать больше, ознакомьтесь с нашим подробным руководством по аудиокодекам Bluetooth.
В этой статье представлен краткий обзор кодека H.264: что это такое, как он работает, сколько стоит и для чего он нужен. Мы закончим разделом о том, что вам нужно знать для эффективного развертывания кодека H.264, особенно в программном обеспечении Wowza Streaming Engine и службе Wowza Streaming Cloud.
Что такое кодек H.264?
H.264 – это стандарт кодирования видео или кодек. Он был создан двумя органами по стандартизации: группой экспертов по кодированию видео ITU-T, которая назвала стандарт H.264, и группой экспертов по движущимся изображениям ISO/IEC JTC1 (MPEG), которая назвала стандарт Advanced Video Coding (AVC). H.264 и AVC относятся к одной и той же технологии и взаимозаменяемы. Технически AVC определен в Части 10 стандарта MPEG-4 и отличается от кодека MPEG-4, который был определен в Части 2 и так и не получил широкого распространения на рынке. H.264 впервые был запущен в мае 2003 г. в качестве преемника MPEG-2, в первую очередь для использования в вещательных приложениях, когда Интернет только зарождался.
В качестве видеостандарта существует несколько реализаций кодека H.264, включая кодек x264 в FFmpeg и кодек Beamr, используемый в Wowza Streaming Engine. Intel и NVIDIA предлагают кодеки H.264 с аппаратным ускорением, доступ к которым можно получить из Wowza Streaming Engine. Поскольку H.264 является стандартом, все видео, закодированные любым кодеком H.264, должны воспроизводиться на любом декодере или проигрывателе H.264, будь то в браузере, смартфоне или Smart TV.
Совместимость: H.264 против VP9, HEVC и AV1
Рынок потоковой передачи был намного проще, когда H.264 только появился: компьютеры представляли собой доминирующую платформу для потоковой передачи видео и один подключаемый модуль, Adobe Flash, доминирующий видеопроигрыватель для большинства веб-сайтов. Как только Adobe добавила поддержку H.264 во Flash, рынок компьютерных браузеров почти сразу перешел на H.264. Сегодня веб-сайт Can I Use сообщает, что воспроизведение H.264 доступно более чем в 98,23 % браузеров по всему миру.
Apple начала поддерживать H.264 с первым устройством iPod touch и всеми последующими моделями iPod touch, iPhone и iPad. Платформа Android добавила поддержку H.264 в версии 3, которая была выпущена в 2011 году, объединив двух доминирующих мобильных игроков. В качестве стандарта вещания H.264 поддерживался многими телевизорами и/или телевизионными приставками задолго до того, как видео стало передаваться по IP.
Проще говоря, основная причина того, что H.264 продолжает доминировать на мировых рынках потоковой передачи, заключается в том, что он воспроизводится повсюду. Тем не менее, есть несколько субрынков, на которых другие кодеки делают серьезные успехи.
Производительность: H.264 по сравнению с VP9, HEVC и AV1
При оценке производительности кодека необходимо учитывать два аспекта: (1) сложность или скорость кодирования и (2) качество кодирования. Для большинства кодеков между ними существует обратная зависимость. То есть, чем лучше качество кодирования, тем больше времени требуется для кодирования. Это приводит к более высоким затратам на кодирование и транскодирование. Поскольку на данный момент ни один кодек не может полностью заменить H.264, эти затраты на кодирование или транскодирование добавляются к существующим затратам, связанным с кодированием H.264.
Чтобы пояснить таблицу 2, сложность кодирования — это время кодирования по сравнению с H.264. Таким образом, для VP9 кодирование должно занимать в 2–15 раз больше, чем для H.264. Качество кодирования описывает снижение битрейта, которого может достичь кодек, обеспечивая при этом то же качество, что и H.264. Таким образом, потоки, закодированные с помощью VP9 и HEVC со скоростью передачи данных 65 %, должны иметь примерно такое же качество, как и поток, закодированный с помощью H.264.
Конечно, более высокое качество кодирования, предлагаемое VP9, HEVC и AV1, снижает затраты на пропускную способность для доставки на совместимые проигрыватели, что, в свою очередь, может компенсировать дополнительные затраты на кодирование и хранение. Тем не менее, большинство компаний (за исключением ведущих стриминговых вещательных компаний) склонны внедрять новые кодеки только тогда, когда они позволяют выйти на новые рынки, а не в целях экономии.
Применимость: H.264 против VP9, HEVC и AV1
С другой стороны, если вы сравните качество H.264 и H.265, вы поймете, почему H.264 — плохой выбор для видео 4K, поскольку экономия полосы пропускания, обеспечиваемая H.265, составляет примерно 35 %. и может сделать или сломать доставку в некоторые дома. По этой причине, хотя H.264 технически поддерживает HDR и включен в один профиль битового потока Dolby Vision, подавляющее большинство потоков Dolby Vision и других потоков HDR кодируются с помощью HEVC.
Роялти: H.264 против VP9, HEVC и AV1
Компания MPEG LA управляет патентным пулом H.264, который взимает плату за кодеры и декодеры свыше 100 000 единиц в год. Есть гонорары за услуги по подписке и с оплатой за просмотр; см. Информацию о лицензии на портфель патентов AVC здесь (стр. 11).
Хотя было несколько H.264 иска о нарушении патентных прав сторонами, не входящими в патентный пул MPEG LA, касались крупных компаний, занимающихся аппаратными платформами, таких как Apple и Microsoft, а не издателей контента. На данный момент, помимо лицензионных отчислений, взимаемых MPEG LA, похоже, что нет владельцев IP-адресов H.264, требующих лицензионных отчислений за контент.
Что нужно знать для создания H.264
Как и у всех кодеков, у H.264 есть десятки параметров конфигурации, к которым следует прикасаться очень немногим производителям. Однако есть три параметра конфигурации, которые должны быть понятны всем производителям.
Профили
Во-первых, это профили, представляющие собой наборы инструментов или алгоритмов кодирования, которые можно использовать для кодирования файла. Вы видите это в таблице 5 из Википедии, где инструменты и алгоритмы показаны слева, а профили — в столбцах. Базовый профиль (BP) использует относительно немного инструментов кодирования, что делает битовый поток более низким по качеству, чем высокий профиль (HiP), но более легким для декодирования.
Зачем создавать профили? Чтобы позволить производителям устройств развертывать H.264 и при этом соответствовать требованиям к стоимости и производительности продукта. Например, в устройствах iPod touch первого поколения Apple интегрировала кремний, способный воспроизводить базовый профиль, чтобы соответствовать целевым показателям стоимости, размера и энергопотребления. Издатели, выпускающие видео для этого поколения устройств, закодированные с использованием базового профиля; в противном случае видео не будет воспроизводиться.
Таблица 5. Наиболее часто используемые профили: базовый (BP), основной (MP) и высокий (HiP).
Сегодня практически все новые смартфоны, планшеты, компьютеры, OTT-ключи, смарт-телевизоры, игровые платформы и другие устройства воспроизведения видео могут воспроизводить высокий профиль, который является самым высоким профилем, используемым для потоковой передачи. Тем не менее, если вы доставляете потоки зрителям, которые смотрят на старых устройствах, вы можете убедиться, что у вас есть один или два потока более низкого качества в вашей лестнице кодирования в базовом или основном (MP) профиле. Поскольку профиль имеет решающее значение для совместимости воспроизведения, все кодировщики H.264 позволяют указать профиль в пользовательском интерфейсе или на языке сценариев.
Если вы доставляете потоки в прямом эфире или видео по запросу (VOD) в такой сервис, как Wowza Streaming Engine или Wowza Streaming Cloud, или перекодируете потоки через этот сервис, ознакомьтесь с рекомендациями сервисов для профилей. Например, вот что рекомендует Wowza в разделе «Настройка и запуск транскодера в Wowza Streaming Engine»:
Рисунок 1. Рекомендации по профилю для Wowza Streaming Engine.
Уровни
Уровни накладывают дополнительные ограничения кодирования на профили, как показано в таблице 6, опять же из Википедии. Например, для соответствия уровню 4.2 разрешение видео не может превышать 2048×1080 при 60 кадрах в секунду или 50 000 Кбит/с. В первые дни доставки видео на мобильные устройства уровни имели значение. Однако сегодня большинство современных устройств могут воспроизводить любой уровень, который вы можете им предоставить.
Таблица 6. Ограничения уровня из Википедии.
Там, где уровни остаются важными, являются требования от поставщиков услуг, таких как Wowza. Например, рисунок 2 взят из рекомендаций по кодированию для Wowza Streaming Cloud. Здесь вы видите, что ваш входящий поток не должен превышать уровень 4.1 для 1080p30 или 4.2 для 1080p60.
Рисунок 2. Рекомендации по уровню для Wowza Streaming Engine.
В отличие от профилей, которые обычно имеют параметр конфигурации в кодировщике, вы соблюдаете настройки уровня, настраивая свое видео в рамках ограничений этого уровня. Вы видите это в предустановке кодирования от Wirecast, показанной на рисунке 3. В то время как для профиля существует конкретный параметр конфигурации (высокий), параметр для уровня отсутствует. Вместо этого вы должны установить параметры разрешения, частоты кадров и скорости передачи данных в пределах ограничений, установленных уровнем. Так как параметры 1080p30 @ 10000, предустановка соответствует уровню 4.1 и будет работать с Wowza Streaming Engine.
Рисунок 3. Предустановка кодирования от Wirecast.
Предустановки/Качество
Последний параметр кодирования H.264, о котором вам следует знать, — это предустановка кодирования, которая выбирается с помощью настройки качества на рис. 3.Предустановки изменяют конфигурацию определенных параметров кодека, позволяя производителям потоковой передачи выбирать желаемый компромисс между качеством кодирования и сложностью. Например, для видео по требованию вы можете выбрать предустановку высокого качества, которая увеличивает время кодирования, но оптимизирует качество. Для живого видео вам, возможно, придется пожертвовать качеством, чтобы добиться кодирования в реальном времени, и выбрать предустановку более низкого качества.
Несмотря на то, что профиль и уровни одинаковы для всех кодировщиков H.264, предварительные настройки зависят от конкретного кодека. Например, на рис. 3 показано кодирование с помощью кодека x264, в котором используются предустановки в диапазоне от Ultrafast до Placebo. Другие кодеки H.264, например MainConcept или Beamr, могут использовать другие предустановки или вообще не предлагать предустановки.
Теперь, когда вы знаете основы, вы сможете настраивать потоки для оптимального качества и совместимости. Как всегда, при работе с поставщиком услуг, таким как Wowza, ознакомьтесь с рекомендациями сервиса, чтобы убедиться, что вы доставляете потоки, соответствующие его требованиям.
Читайте также: