libvpx

Библиотека кодеков, реализующая кодеры и декодеры VP8 и VP9

libvpx
Оригинальный автор(ы)On2 Технологии / Google
Разработчик(и)Альянс за открытые медиа
Первоначальный выпуск19 мая 2010 г. ; 14 лет назад [1] [2] ( 2010-05-19 )
Стабильный релиз
1.14.1 [3]  / 21 мая 2024 г. ; 4 месяца назад ( 21 мая 2024 )
Репозиторий
  • chromium.googlesource.com/webm/libvpx/
Написано вС , сборка
Операционная системаUnix-подобные (включая Linux , FreeBSD и Mac OS X ), Windows
ТипВидеокодер и декодер
ЛицензияНовая лицензия BSD
Веб-сайтwww.webmproject.org/tools/

libvpx — это бесплатная библиотека видеокодеков от Google и Alliance for Open Media (AOMedia). Она служит эталонной реализацией программного обеспечения для форматов видеокодирования VP8 и VP9 , ​​а для AV1 — специального ответвления под названием libaom , лишенного обратной совместимости.

Как свободное программное обеспечение оно также публикуется в исходном коде в соответствии с условиями пересмотренной лицензии BSD . Оно поставляется с инструментами командной строкиvpxenc / aomencи vpxdec/, aomdecкоторые основываются на его функциональности.

История

libvpx берет свое начало от компании On2 Technologies, производящей видеокодеки , которая продала свой первый программный кодек в середине 90-х годов.

libvpx был выпущен как бесплатное программное обеспечение компанией Google 19 мая 2010 года после приобретения On2 Technologies за сумму, оцениваемую более чем в 120 миллионов долларов США. [2] [4]

В июне 2010 года Google изменила лицензию программного обеспечения кодека VP8 на лицензию BSD из 3 пунктов [5] [6] [7] после некоторых разногласий по поводу того, была ли исходная лицензия действительно открытым исходным кодом . [8] [9] [10]

Google критиковали за то, что он выпустил неаккуратный код с плохой документацией для первоначального выпуска libvpx и разрабатывал его за закрытыми дверями, не вовлекая сообщество в процесс. [11] Процесс разработки был открыт после выпуска VP9.

Предварительная поддержка VP9 была добавлена ​​в libvpx 17 июня 2013 года. Она была официально представлена ​​с выпуском версии 1.3 2 декабря, которая также поддерживает сжатие без потерь . [12]

В апреле 2015 года Google выпустила значительное обновление своей библиотеки libvpx, добавив в версию 1.4.0 поддержку кодирования VP9 с 10-битной и 12-битной глубиной цвета , цветовой субдискретизации 4:2:2 и 4:4:4 (профили VP9 1, 2 и 3), а также многопоточное декодирование/кодирование VP9. [13]

Версии 1.5 (ноябрь 2015 г.), 1.6 (июль 2016 г.), 1.7 [14] (январь 2018 г.) и 1.8 [15] (февраль 2019 г.) обеспечили значительное ускорение как кодирования, так и декодирования.

Функции

libvpx реализует однопроходный и двухпроходный режимы кодирования с настройками битрейта или целевого качества.

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

libvpx включает режим, в котором будут использоваться максимально возможные ресурсы ЦП, при этом скорость кодирования будет практически полностью соответствовать скорости воспроизведения (в реальном времени), что позволит сохранить максимально высокое качество без задержек.

libvpx поддерживает цветовые пространства Rec. 601 , Rec. 709 , Rec. 2020 , SMPTE-170 , SMPTE-240 и sRGB .

Производительность

При высоких разрешениях (например, UHD ) VP9, ​​закодированный libvpx для приложений VOD, обеспечивает значительное улучшение по сравнению с H.264 , закодированным x264 . [16] HEVC , закодированный x265 , может обеспечить даже лучшее качество, [16] но безвозмездный характер VP9 делает его привлекательным вариантом для доставки видео высокого разрешения на поддерживаемых платформах.

Производительность декодирования относительно низкая, отчасти для того, чтобы облегчить поддержку кодовой базы. [17] По сравнению с первоначальным выпуском libvpx, ffvp8 из проекта FFmpeg улучшил производительность на 22% до более чем 66%. [11] В 2016 году альтернативные декодеры VP9 все еще добились на 25–50% более быстрого декодирования. [18] [19]

Технологии

libvpx написан на языке C и ассемблере . По состоянию на 2015 год он не имеет полного покрытия SIMD. [17]

Использование

libvpx используется крупными видеосервисами OTT, включая YouTube , Netflix , Amazon , JW Player , Brightcove и Telestream , среди которых есть крупнейшие источники интернет-трафика, причем на Netflix приходится почти треть всего интернет-трафика в Соединенных Штатах по состоянию на 2017 год. [20] [21]

Существуют альтернативы для декодирования VP8 и VP9, ​​как коммерческие, так и с закрытым и открытым исходным кодом. Для кодирования существуют только коммерческие альтернативы и некоторое незаконченное экспериментальное ПО для VP8, включая xvp8 по состоянию на 2016 год.

Ссылки

  1. ^ "CHANGELOG - webm/libvpx - Git at Google". chromium.googlesource.com . Архивировано из оригинала 26 октября 2016 г. Получено 14 марта 2019 г.
  2. ^ ab "Представляем WebM, открытый проект веб-медиа". blog.webmproject.org . 19 мая 2010 г. Архивировано из оригинала 21 марта 2019 г. Получено 14 марта 2019 г.
  3. ^ "refs/tags/v1.14.1 - webm/libvpx - Git в Google" . Получено 31 мая 2024 г. .
  4. ^ "Google закрывает сделку по приобретению On2 Technologies". investor.google.com . Архивировано из оригинала 5 июня 2010 г. . Получено 24 июля 2017 г. .
  5. ^ "Изменения в лицензии WebM Open Source". Архивировано из оригинала 4 октября 2010 г. Получено 4 июня 2010 г.
  6. ^ "Лицензия на программное обеспечение". Архивировано из оригинала 11 июня 2010 г. Получено 4 июня 2010 г.
  7. ^ Koleszar, John (4 июня 2010 г.). «ЛИЦЕНЗИЯ: обновление с последним текстом». Репозиторий WebM VCS . Архивировано из оригинала 29 июня 2012 г. Получено 1 октября 2020 г.
  8. Кернер, Шон Майкл (25 мая 2010 г.), Является ли VP8 открытым исходным кодом?, InternetNews, заархивировано из оригинала 28 мая 2010 г. , извлечено 11 августа 2016 г.
  9. Метц, Кейд (24 мая 2010 г.), Google open codec «не открыт», говорит человек из OSI, The Register, заархивировано из оригинала 7 июля 2017 г. , извлечено 10 августа 2017 г.
  10. Фиппс, Саймон (24 мая 2010 г.), WebM: не хватает гарантий, необходимых для открытого исходного кода?, ComputerworldUK[ постоянная мертвая ссылка ]
  11. ^ ab Фиона Глейзер, 23 июля 2010 г.: Анонс самого быстрого в мире декодера VP8: ffvp8
  12. ^ Майкл Ларабель (Phoronix), 28. Ноябрь 2013: Libvpx 1.3.0 "Forest" поддерживает VP9. Новые улучшения
  13. ^ Майкл Ларабель (3 апреля 2015 г.). "libvpx 1.4.0 обеспечивает более быстрое кодирование/декодирование VP9". Phoronix . Архивировано из оригинала 7 апреля 2015 г. . Получено 3 апреля 2015 г. .
  14. ^ "V1.7.0 - webm/Libvpx - Git at Google". Архивировано из оригинала 29 июня 2020 г. Получено 29 июня 2020 г.
  15. ^ "Refs/Tags/V1.8.0 - webm/Libvpx - Git at Google". Архивировано из оригинала 30 июня 2020 г. Получено 29 июня 2020 г.
  16. ^ ab Cock, Jan De; Mavlankar, Aditya; Moorthy, Anush; Aaron, Anne (27 сентября 2016 г.). Tescher, Andrew G (ред.). "Крупномасштабное сравнение видеокодеков x264, x265 и libvpx для практических приложений VOD". Applications of Digital Image Processing XXXIX. 9971. International Society for Optics and Photonics: 997116. Bibcode : 2016SPIE.9971E..16D. doi : 10.1117/12.2238495. S2CID  63431190. Архивировано из оригинала 22 декабря 2017 г. Получено 20 декабря 2017 г. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  17. ^ ab Ronald Bultje (FFmpeg): производительность кодирования/декодирования VP9 по сравнению с H.264/HEVC Архивировано 7 июня 2016 г. на Wayback Machine , презентация с VideoLAN Dev Days 2015 в Париже, Франция
  18. ^ Ян Озер, июнь 2016: VP9 наконец-то достиг совершеннолетия, но подходит ли он всем? Архивировано 11 августа 2016 г., на Wayback Machine
  19. ^ "Самый быстрый в мире декодер VP9: ffvp9 - Рональд С. Бултье". blogs.gnome.org . Архивировано из оригинала 26 октября 2016 г. Получено 11 августа 2016 г.
  20. Ян Озер (24 мая 2016 г.): Netflix обсуждает усилия по разработке, связанные с VP9 Архивировано 1 октября 2020 г. на Wayback Machine
  21. ^ Спэнглер, Тодд (22 июня 2016 г.). «Netflix съедает меньше пропускной способности, поскольку потоковое видео Amazon резко увеличивается». Variety . Архивировано из оригинала 22 декабря 2017 г. . Получено 20 декабря 2017 г. .
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Libvpx&oldid=1179423050"