编码器设备

编码器是作为输入接收未压缩数据流 (视频和/或音频) 的设备,将流编码为特定格式(如 MPEG2),然后输出编码的流。 编码器设备可能是另一个设备的一部分,例如组合电视调谐器/捕获适配器,也可以是分开的。 例如,集成编码器从捕获设备(如模拟电视调谐器/解码器)接收数据流,然后生成编码流。 独立编码器可以从未压缩的文件接收输入数据,处理数据,然后输出编码的数据。

Microsoft 在 DirectX 9.0 及更高版本中为基于硬件的音频/视频编码器设备提供支持。

若要支持音频/视频编码器设备,必须在内核流式处理筛选器微型驱动程序中实现对 Microsoft 定义的编码器属性的支持。 可以通过实现编码器属性,将支持添加到现有流类或 AVStream 微型驱动程序。 或者,如果要为独立编码器或集成编码器编写新的微型驱动程序 () ,Microsoft 建议遵循 AVStream 体系结构,因为流类已过时且不再受支持。 可以将 AVStream 模拟硬件示例驱动程序 (Avshws) 作为起点。 Avshws 驱动程序是一个以引脚为中心的 AVStream 示例,可实现对 DMA 传输的支持。

注意

如果要编写软件实现的编码器,则不应将其编写为内核流式处理筛选器。 相反,此类筛选器应编写为 Microsoft DirectShow 筛选器或 DirectX 媒体对象。 有关基于软件的编码器的详细信息,请参阅 DirectShow SDK 主题“编码器 API”。

客户端通过 ICodecAPI COM 接口访问编码器功能。 根据微型驱动程序实现的属性,指定在驱动程序的 INF 文件中公开的接口 KsProxy。 有关 Microsoft 定义的内核流属性和事件的信息,请参阅 编码器实现和支持 。 有关如何实现编码器代码示例的示例,请参阅 编码器代码示例 。 有关如何安装编码器筛选器的信息,包括如何指定 KsProxy 应公开的 COM 接口,请参阅编码器 安装和注册

除涵盖所有设备的通用徽标要求外,编码器设备还必须符合 Windows 认证计划中所述的流媒体和广播要求。