视频和无线电流媒体设备使用的Linux内核到用户空间API,包括摄像机、模拟和数字电视接收卡、AM/FM接收卡、软件定义无线电(SDR)、流捕获和输出设备、编解码器设备和遥控器。典型的媒体设备硬件如下:
媒体基础设施API就是用于控制此类设备的,分五个部分。
第一部分V4L2 API,包括无线电radio、视频捕获和输出video capture and output、相机camera、模拟电视设备和编解码器analog TV devices and codecs。
第二部分为几种数字电视标准之一用于数字电视和互联网接收的API。虽然它被称为DVB API,但实际上它涵盖了几种不同的视频标准,包括DVB-T/T2、DVB-S/S2、DVB-C、ATSC、ISDB-T、ISDB-S、DTMB等。
第三部分远程控制器API。
第四部分媒体控制器API。
第五部分消费电子控制(CEC)API。
还应注意的是,媒体设备还可以具有音频组件,如通过ALSA API控制的混音器、PCM捕获、PCM回放等。
对V4L2设备进行编程包括以下步骤:
V4L2驱动程序实现为内核模块,由系统管理员手动加载,或在首次发现设备时自动加载。驱动程序模块插入“videodev”内核模块。它提供了帮助程序功能和通用应用程序接口。</