Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Драйверы устройств для захвата видео в реальном времени
Device drivers for real time video capture
Video4Linux (сокращенно V4L) — это набор драйверов устройств и API для поддержки захвата видео в реальном времени в системах Linux. Он поддерживает множество USB-веб-камер, ТВ-тюнеров и связанных устройств, стандартизируя их вывод, что позволяет программистам легко добавлять поддержку видео в свои приложения. Video4Linux отвечает за создание узлов устройств V4L2, также известных как файлы устройств (/dev/videoX, /dev/vbiX и /dev/radioX) и обработку данных, поступающих из этих узлов. Создание узлов устройств осуществляется драйверами устройств V4L с использованием структуры видеоустройства (v4l2_dev.h), которая может быть выделена динамически или встроена в другую, более крупную структуру. Video4Linux был назван по аналогии с Video for Windows (иногда сокращаемым до "V4W"), однако технически не связан с ним. В то время как Video4Linux доступен только в Linux, для FreeBSD существует уровень совместимости под названием Video4BSD, позволяющий многим программам, зависящим от V4L, компилироваться и запускаться в операционной системе FreeBSD.
Video4Linux (V4L for short) is a collection of device drivers and an API for supporting realtime video capture on Linux systems. It supports many USB webcams, TV tuners, and related devices, standardizing their output, so programmers can easily add video support to their applications. Video4Linux is responsible for creating V4L2 device nodes aka a device file (/dev/videoX, /dev/vbiX and /dev/radioX) and tracking data from these nodes. The device node creation is handled by V4L device drivers using the video device struct (v4l2 dev. h) and it can either be allocated dynamically or embedded in another larger struct. Video4Linux was named after Video for Windows (which is sometimes abbreviated "V4W"), but is not technically related to it. While Video4Linux is only available on Linux, there is a compatibility layer available for FreeBSD called Video4BSD. This provides a way for many programs that depend on V4L to also compile and run on the FreeBSD operating system.
История
V4L был представлен на позднем этапе цикла разработки 2.1.x ядра Linux. Позднее переименованный в V4L1, он был удален из ядра 2.6.38. V4L2 – это вторая версия V4L. Video4Linux2 исправил некоторые недостатки проектирования и начал появляться в ядрах 2.5.x. Драйверы Video4Linux2 включают режим совместимости для приложений Video4Linux1, хотя поддержка может быть неполной, и рекомендуется использовать устройства Video4Linux1 в режиме V4L2. Проект DVB Wiki теперь размещен на веб-сайте LinuxTV. Некоторые программы поддерживают V4L2 посредством указателя медиаресурсов v4l2://.
V4L had been introduced late into the 2.1. X development cycle of the Linux kernel. Retroactively being renamed to V4L1, it was dropped in kernel 2.6.38. V4L2 is the second version of V4L. Video4Linux2 fixed some design bugs and started appearing in the 2.5. x kernels. Video4Linux2 drivers include a compatibility mode for Video4Linux1 applications, though the support can be incomplete and it is recommended to use Video4Linux1 devices in V4L2 mode. The project DVB Wiki is now hosted on LinuxTV web site. Some programs support V4L2 through the media resource locator v4l2://.
Критика
Video4Linux имеет сложный процесс согласования, из-за чего не все приложения поддерживают все камеры.
Video4Linux has a complex negotiation process, which caused not all applications having support for all cameras.