Видео4Linux

Драйверы устройств для захвата видео в реальном времени
Видео4Linux
Репозиторийgit.linuxtv.org/v4l-utils.git
Написано вС
Операционная системалинукс
Платформаядро Linux
ЛицензияСтандартная общественная лицензия GNU
Веб-сайтwww.linuxtv.org

Video4Linux ( сокращенно V4L ) — это набор драйверов устройств и API для поддержки захвата видео в реальном времени в системах Linux . [1] Он поддерживает веб-камеры USB , ТВ-тюнеры , камеры CSI и связанные с ними устройства, стандартизируя их вывод, поэтому программисты могут легко добавлять поддержку видео в свои приложения.

Video4Linux отвечает за создание узлов устройств V4L2, также известных как файл устройства (/dev/videoX, /dev/vbiX и /dev/radioX), и отслеживание данных с этих узлов. Создание узла устройства обрабатывается драйверами устройств V4L с использованием структуры video_device (v4l2-dev.h), и она может быть либо выделена динамически, либо встроена в другую большую структуру.

Video4Linux был назван в честь Video for Windows (иногда сокращенно «V4W»), но технически не связан с ним. [2] [3]

Хотя Video4Linux доступен только на Linux, для FreeBSD доступен слой совместимости, называемый Video4BSD. Это позволяет многим программам, зависящим от V4L, также компилироваться и запускаться на операционной системе FreeBSD.

История

V4L был представлен в конце цикла разработки ядра Linux 2.1.X. Будучи переименованным в V4L1, он был удален в ядре 2.6.38. [4]

V4L2 — вторая версия V4L. Video4Linux2 исправил некоторые ошибки дизайна и начал появляться в ядрах 2.5.x. Драйверы Video4Linux2 включают режим совместимости для приложений Video4Linux1, хотя поддержка может быть неполной, и рекомендуется использовать устройства Video4Linux1 в режиме V4L2. Проект DVB-Wiki теперь размещен на веб-сайте LinuxTV . [5]

Некоторые программы поддерживают V4L2 через локатор медиаресурсов v4l2:// .

Поддержка программного обеспечения

Критика

Video4Linux имеет сложный процесс согласования, из-за которого не все приложения поддерживают все камеры. [8]

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

  • Direct Rendering Manager — определяет интерфейс «ядро-пользовательское пространство» для доступа к графическому рендерингу и ускорению видео.
  • Mesa 3D – реализует API ускорения видео

Ссылки

  1. ^ "Введение в фреймворк Video4Linux: как написать драйвер видеозахвата". 2014-02-02 . Получено 2014-02-16 .
  2. ^ "Обзор структуры драйвера V4L2". Архивировано из оригинала 21.02.2014 . Получено 04.12.2013 .Обзор структуры драйвера V4L2.
  3. ^ "Путь к стандартизированному API видеокодека" (PDF) . Архивировано из оригинала 2014-01-06.
  4. ^ "gspca - LinuxTVWiki". LinuxTV . Получено 2024-01-12 .
  5. ^ Шимек, Майкл Х. "Видео для спецификации Linux Two API". LinuxTV . Получено 12.01.2024 .
  6. ^ "Open Broadcaster Software | OBS". obsproject.com .
  7. ^ "Добавить предложение API видеозахвата от 1bsyl". GitHub .
  8. ^ Корбет, Джонатан (2019-07-25). «Доступ к сложным видеоустройствам с помощью libcamera». LWN.net . Получено 2023-02-06 .
  • media_tree разработка git
  • v4l-utils разработка git
  • API инфраструктуры мультимедиа Linux (V4L2, DVB и удаленные контроллеры)
  • Video4Linux-DVB вики
  • Ресурсы Video4Linux
  • Video4BSD, уровень эмуляции Video4Linux
  • Видео для Linux (V4L) примеры приложений
  • Видео для примера приложения Linux 2 (V4L2)
  • Доступ к устройствам Video4Linux из Java
  • kernel.org
  • OpenWrt Вики
  • Драйвер и инструменты Linux UVC, класс видеоустройств USB (UVC)
Взято с "https://en.wikipedia.org/w/index.php?title=Video4Linux&oldid=1273253875"