stringtranslate.com

API ускорения видео

Video Acceleration API ( VA-API ) — это интерфейс программирования приложений с открытым исходным кодом , который позволяет таким приложениям, как VLC media player или GStreamer, использовать возможности аппаратного ускорения видео, обычно предоставляемые графическим процессором (GPU). Он реализуется с помощью бесплатной и открытой библиотеки libva в сочетании с аппаратно-специфичным драйвером, обычно предоставляемым вместе с драйвером GPU.

Интерфейс декодирования/кодирования видео VA-API не зависит от платформы и оконной системы, но в первую очередь нацелен на инфраструктуру прямой визуализации (DRI) в X Window System на Unix -подобных операционных системах (включая Linux , FreeBSD , Solaris ) и Android , однако его потенциально можно использовать с прямым кадровым буфером и графическими подсистемами для вывода видео. Ускоренная обработка включает поддержку декодирования видео , кодирования видео , смешивания субтитров и рендеринга. [2]

Спецификация VA-API изначально была разработана Intel для серии графических процессоров GMA (Graphics Media Accelerator) с конкретной целью в конечном итоге заменить стандарт XvMC в качестве стандартного многоплатформенного эквивалента Microsoft Windows DirectX Video Acceleration (DxVA) API для Unix , но сегодня API больше не ограничивается специфичным для Intel оборудованием или графическими процессорами. [3] Другое оборудование и производители могут свободно использовать этот открытый стандартный API для аппаратного ускорения обработки видео с помощью своего собственного оборудования без уплаты лицензионных отчислений. [4]

Обзор

Пример вывода vainfo, показывающий поддерживаемые видеокодеки для ускорения VA-API

Основной мотивацией для VA-API является обеспечение аппаратного ускорения декодирования видео в различных точках входа ( VLD , IDCT , компенсация движения , деблокирование [5] ) для преобладающих сегодня стандартов кодирования ( MPEG-2 , MPEG-4 ASP / H.263 , MPEG-4 AVC/H.264 , H.265/HEVC и VC-1/WMV3 ). Рассматривалось расширение XvMC, но из-за его первоначального дизайна только для MPEG-2 MotionComp имело больше смысла разработать интерфейс с нуля, который мог бы полностью раскрыть возможности декодирования видео в современных графических процессорах . [6]

Поддерживаемое оборудование и драйверы

По состоянию на 2022 год VA-API изначально поддерживается: [7]

Поддерживаемые видеокодеки

В настоящее время VA-API поддерживает эти видеокодеки в официальной основной версии, но следует отметить, что набор поддерживаемых видеокодеков зависит от оборудования и возможностей драйвера.

Процессы, которые можно ускорить с помощью VA-API

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

Архитектура программного обеспечения

Архитектура API ускорения видео

Текущий интерфейс не зависит от оконной системы, поэтому его можно потенциально использовать с графическими подсистемами, отличными от DRI (Direct Rendering Infrastructure) в X Window System , например, напрямую с буфером кадра , и он может работать со сторонними библиотеками DRM (Direct Rendering Manager) . В двух словах, это схема передачи различных типов буферов данных из приложения в GPU для декодирования или кодирования сжатого битового потока .

Программное обеспечение, поддерживающее VA-API

Журнал Firefox, показывающий использование VA-API для ускорения декодирования видео

Смотрите также

Ссылки

  1. ^ "libva 2.22.0". 2 июля 2024 г. Получено 2 июля 2024 г.
  2. ^ "VA-API Video Acceleration On Intel Medfield - Phoronix". Phoronix.com . Получено 23 февраля 2019 г. .
  3. ^ "Video4Linux2: Путь к стандартизированному API видеокодека" (PDF) . Events.linuxfoundation.org . Получено 23 февраля 2019 г. .
  4. ^ Натан Уиллис (01.07.2009). «VA API медленно, но верно добивается прогресса». Lwn.net .
  5. ^ "Mplayer, FFmpeg Gain VA-API Support - Phoronix". Phoronix.com . Получено 23 февраля 2019 г. .
  6. ^ "vaapi". Freedesktop.org . Получено 23 февраля 2019 г. .
  7. ^ ab "Аппаратное ускорение видео". wiki.ArchLinux.org .
  8. ^ Vilerino, Sil (2023-02-15). "API видеоускорения (VA-API) теперь доступен в Windows!". Блог разработчиков DirectX . Получено 2023-03-08 .
  9. ^ ab "Hardware/vaapi". wiki.libav.org . Архивировано из оригинала 2017-02-01 . Получено 2017-01-20 .
  10. ^ "Emby Server 3.0.6400 Released". Emby.media . 29 августа 2016 г. Получено 23 февраля 2019 г.
  11. ^ "Запись в списке рассылки, описывающая использование VA-API". Lists.moblin.org . Получено 23 февраля 2019 г. .
  12. ^ "RealPlayer для MID и Intel/Linux FAQ". HelixCommunity.org . Архивировано из оригинала 2012-03-24 . Получено 2011-05-12 .
  13. ^ "Архивная копия". Архивировано из оригинала 2016-09-16 . Получено 2016-08-31 .{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  14. ^ «Новые кодеки Fluendo поддерживают VDPAU, VA-API — Phoronix» . Фороникс.com . Проверено 23 февраля 2019 г.
  15. ^ "H.264 VA-API GPU Video Acceleration For Flash - Phoronix". Phoronix.com . Получено 23 февраля 2019 г. .
  16. ^ "Аппаратно-ускоренное декодирование, кодирование и обработка видео на графических процессорах Intel через VA-API". Cgit.freedesktop.org . Получено 23 февраля 2019 г. .
  17. ^ ab "XBMC получает рабочую поддержку Intel VA-API - Phoronix". Phoronix.com . Получено 23 февраля 2019 г. .
  18. ^ "Mplayer в vaapi - Gitorious". Архивировано из оригинала 2013-08-03 . Получено 2014-02-10 .
  19. ^ "Release Notes - 0.25 - MythTV Official Wiki". Mythtv.org . Получено 23 февраля 2019 г. .
  20. ^ "VLC 1.1.0 release - VideoLAN". Videolan.org . Получено 23 февраля 2019 .
  21. ^ "[Клиент] 2.2.6 выпущен – Значительное снижение использования ЦП включено". Bluecherrydvr.com . 2 марта 2017 г. . Получено 23 февраля 2019 г. .
  22. ^ "проект xine - Лента новостей". Xine-project.org . Получено 23 февраля 2019 г. .
  23. ^ «OBS Studio теперь поддерживает VA-API для кодирования видео — Phoronix». www.phoronix.com . Получено 06.08.2020 .
  24. ^ "Firefox на Fedora наконец-то получает VA-API на Wayland". mastransky.wordpress.com . 3 июня 2020 г. Получено 19 августа 2020 г.
  25. ^ "Firefox 80 доступен с VA-API на X11, поддержка компиляции параллельных шейдеров WebGL". www.phoronix.com . Получено 25.08.2020 .

Внешние ссылки