引言

本文档涵盖了视频和无线电流媒体设备(包括摄像机、模拟和数字电视接收卡、AM/FM接收卡、软件定义无线电 (SDR)、流媒体捕获和输出设备、编解码器设备和遥控器)使用的Linux内核到用户空间 API。

一个典型的媒体设备硬件如图典型的媒体设备所示。

typical_media_device.svg

典型的媒体设备

媒体基础设施 API 被设计用来控制此类设备。它分为五个部分。

  1. 第一部分涵盖无线电、视频捕获和输出、摄像机、模拟电视设备和编解码器。

  2. 第二部分涵盖了用于通过多种数字电视标准接收数字电视和互联网的 API。虽然它被称为 DVB API,但实际上它涵盖了多种不同的视频标准,包括 DVB-T/T2、DVB-S/S2、DVB-C、ATSC、ISDB-T、ISDB-S、DTMB 等。支持的完整标准列表可以在 fe_delivery_system中找到。

  3. 第三部分涵盖了遥控器 API。

  4. 第四部分涵盖了媒体控制器 API。

  5. 第五部分涵盖了 CEC (消费电子控制) API。

还应该注意的是,媒体设备也可能有音频组件,如混音器、PCM 捕获、PCM 回放等,这些组件通过 ALSA API 控制。有关更多信息和最新的开发代码,请参阅:https://linuxtv.org。有关讨论改进、报告问题、发送新驱动程序等,请发送邮件至:Linux 媒体邮件列表 (LMML)