Video4Linux

Video4Linux (V4L for short) is a collection of device drivers and an API for supporting realtime video capture on Linux systems.

[1] It supports USB webcams, TV tuners, CSI cameras, and related devices, standardizing their output, so programmers can easily add video support to their applications.

Video4Linux was named after Video for Windows (which is sometimes abbreviated "V4W"), but is not technically related to it.

This provides a way for many programs that depend on V4L to also compile and run on the FreeBSD operating system.

Video4Linux has a complex negotiation process, which caused not all applications having support for all cameras.