Linux video capture is based on interface functions provided by Video4Linux (V4L) or V4L2 (V4L2). V4L or V4L2 is the kernel of Linux video devices. Provides a range of interface functions for application programming of video devices. In the application, V4L or V4L2 can combine I/O control functions, such as open, read/write, close, memory mapping, etc. to capture video data, and then perform data compression.