Репозиторий | 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]