【发布时间】:2016-01-25 00:39:08
【问题描述】:
我正在尝试使用 Media Foundation 中的两个独立视频源进行合成。我正在尝试使用视频叠加对视频进行编码。为此,我尝试在较小的输入上使用Video Resizer。
我已经看到了几个关于此的主题,但我想无论如何我都会四处询问。
基本上,这个想法是创建两个源读取器和一个接收器写入器。源文件是h264,所以我用阅读器解码成YUY2。在处理样本时,我将适当的样本发送到 Resize MFT,然后(我还没有做到这一点)我将这两个图像结合起来使用 MFCopyImage 创建叠加效果。
我的问题是:我在 Resize MFT 上调用 ProcessInput 时收到 E_INVALIDARG。
为了初始化 mft,我通过 SetInput Type 为它提供了来自阅读器的适当类型。之后,我通过 PropertyStore 设置所有适当的属性,然后更新 MFT 输出类型的帧大小。我已阅读文档并根据MFT Processing Model 对我的实现进行建模。
在我真正尝试使用 ProcessInput 之前,这些步骤都不会引发任何危险信号。
虽然我在 Windows Media Foundation 方面的经验有限,但我已经能够成功使用 Framerate DSP。我将不胜感激任何建议。 谢谢!
【问题讨论】:
标签: winapi video ms-media-foundation