【问题标题】:Windows Media foundation : How to set an encoder property?Windows Media 基础:如何设置编码器属性?
【发布时间】:2018-04-26 14:45:47
【问题描述】:

我实现了一个 IMFMediaSink 接口,该接口通过本机 h264 编解码器对特定源进行编码。我想更改h264编解码器的默认选项,怎么做?

【问题讨论】:

    标签: c++ winapi encoding h.264 ms-media-foundation


    【解决方案1】:

    请注意,媒体接收器不进行编码,这使得问题的措辞不太准确。媒体接收器接收已经生成的 H.264 并将其格式化为 MP4 字节流。

    与您的工作描述相匹配的更高级别的媒体基础 API 是 Sink Writer API。它在内部管理一个媒体接收器,此外它还能够链接包括视频编码器在内的转换。这是使编码与媒体接收器和接收器编写器互操作并生成编码内容的典型方式。

    当 Sink Writer 实例添加 H.264 编码器时,可以查询IMFSinkWriterEx interface,然后可以使用它来访问视频编码转换,以及您寻求的相应设置选项。请注意,在您添加流和配置输入格式后,转换才可用,因此您的编解码器设置需要在相应的配置阶段进行。

    【讨论】: