1.\" 2.\" Copyright (c) 2026 Abdelkader Boudih <freebsd@seuros.com> 3.\" 4.\" SPDX-License-Identifier: BSD-2-Clause 5.\" 6.Dd July 28, 2026 7.Dt VIDEO 4 8.Os 9.Sh NAME 10.Nm video 11.Nd video capture framework 12.Sh SYNOPSIS 13.Cd device video 14.Pp 15.In sys/videoio.h 16.Sh DESCRIPTION 17The 18.Nm 19framework provides a common interface for video capture devices. 20It creates 21.Pa /dev/video%d 22device nodes and handles buffer management, memory mapping, and 23ioctl dispatch on behalf of hardware drivers. 24.Pp 25Userland applications access capture devices through the 26.Sy Video4Linux2 27.Pq V4L2 28ioctl interface. 29The framework translates V4L2 requests into driver callbacks, 30so hardware drivers do not implement ioctls directly. 31.Pp 32The following V4L2 ioctls are supported: 33.Bl -bullet -compact 34.It 35.Dv VIDIOC_QUERYCAP 36.It 37.Dv VIDIOC_ENUM_FMT , 38.Dv VIDIOC_G_FMT , 39.Dv VIDIOC_S_FMT , 40.Dv VIDIOC_TRY_FMT 41.It 42.Dv VIDIOC_ENUM_FRAMESIZES , 43.Dv VIDIOC_ENUM_FRAMEINTERVALS 44.It 45.Dv VIDIOC_G_PARM , 46.Dv VIDIOC_S_PARM 47.It 48.Dv VIDIOC_ENUMINPUT , 49.Dv VIDIOC_G_INPUT , 50.Dv VIDIOC_S_INPUT 51.It 52.Dv VIDIOC_QUERYCTRL , 53.Dv VIDIOC_G_CTRL , 54.Dv VIDIOC_S_CTRL 55.It 56.Dv VIDIOC_REQBUFS , 57.Dv VIDIOC_QUERYBUF , 58.Dv VIDIOC_QBUF , 59.Dv VIDIOC_DQBUF 60.It 61.Dv VIDIOC_STREAMON , 62.Dv VIDIOC_STREAMOFF 63.El 64.Pp 65Two capture modes are supported: 66.Bl -tag -width 6n 67.It Cm read 68Frames are obtained by calling 69.Xr read 2 70on the device node. 71Streaming starts automatically on the first read. 72.It Cm mmap 73Buffers are allocated with 74.Dv VIDIOC_REQBUFS , 75mapped with 76.Xr mmap 2 , 77and cycled with 78.Dv VIDIOC_QBUF 79and 80.Dv VIDIOC_DQBUF . 81Streaming is started and stopped with 82.Dv VIDIOC_STREAMON 83and 84.Dv VIDIOC_STREAMOFF . 85.El 86.Pp 87Up to 8 buffers may be allocated per device. 88Buffer memory remains valid until the last mapping is unmapped, 89even if the device is closed or detached. 90.Sh SEE ALSO 91.Xr mmap 2 , 92.Xr read 2 , 93.Xr fwcam 4 , 94.Xr uvideo 4 95.Sh HISTORY 96The 97.Nm 98framework first appeared in 99.Fx 16.0 . 100.Sh AUTHORS 101.An Abdelkader Boudih Aq Mt freebsd@seuros.com 102