Linux当中称之为视频的主要为俩个方面(主要以kernel为主):
1.源代码video目录指的是主显示输出,也就是帧缓冲(Frame Buffer)驱动部分,表示对基本图形层的显示支持;
2.源代码media目录针对的是对多媒体视频的支持部分,Linux的多媒体视频方面已经形成了标准的v4l驱动程序架构;
V4L框架一般提供以下几个方面的接口: 视频捕获(Video Capture), 视频叠加(Video Overlay), 视频输出(Video Output), 视频叠加输出(Video Output Overlay), 编解码(Codec), 收音机(Radio), VBI, Teletext, RDS,
其中以视频方面的接口为主, 视频中又以视频捕获(也就是视频输入)为主;
视频输入硬件一般包含摄像头和视频处理单元,视频处理单元在某些处理器中被称为ISP(Image Signal Processing);
视频输出则对应于某些显示硬件的独立视频显示层,这种视频显示层通常可以提供独立的显存进行操作,与主显示层进行硬件的叠加之后显示到屏幕上,此种机制通常都由嵌入式处理器的显示部分直接提供,有时也被
称之为Overlay,表示显示叠加层;
V4L是Linux内核中标准的关于视频的驱动子系统,目前主要使用的是V4L的第二个版本V4L2,第一个版本主要提供了对摄像头的输入部分支持, 第二个版本又加入了对视频的输出,收音机(Radio)设备的支持;
V4L驱动为用户空间提供了字符设备的设备节点,每一个V4L设备可以拥有一个节点,主设备号为81,设备有多种类型,每种类型的设备有自己的次设备号和设备节点名称.
/dev/video<N>:次设备号为0~63,表示视频设备,包括捕获设备和输出设备.
/dev/radio<N>:次设备号为64~127,表示收音机设备.
/dev/vtx<N>:次设备号为192~223,表示Teletext设备.
/dev/vbi<N>:次设备号为224~255,表示VBI(Vertical Blank Interrupt)设备.