调整MFT问题的大小:Windows Media Foundation中的视频合成

时间:2016-01-25 00:39:08

标签: winapi video ms-media-foundation mft

我试图在Media Foundation中使用两个独立的视频源进行合成。我正在尝试使用视频叠加层对视频进行编码。为此,我尝试在较小的输入上使用Video Resizer

我已经看过几个主题,但我认为无论如何我都会问。

基本上,我们的想法是创建两个源阅读器和一个接收器编写器。源文件是h264,所以我用读卡器解码成YUY2。在处理样本时,我将适当的样本发送到Resize MFT,然后向下发送(我还没有做到这一点)我将这两个图像组合起来用MFCopyImage创建叠加效果。

我的问题是:我在Resize MFT上调用ProcessInput时收到E_INVALIDARG。
为了初始化mft,我通过SetInput Type从阅读器给它适当的类型。之后,我通过PropertyStore设置所有适当的属性,然后更新MFT输出类型的framesize。我已阅读文档并根据MFT Processing Model建模我的实现。

在我实际尝试使用ProcessInput之前,这些步骤都没有引发任何红色标记。

虽然我在Windows Media Foundation的经验有限,但我已经能够成功使用Framerate DSP。我很感激任何的建议。 谢谢!

1 个答案:

答案 0 :(得分:0)

对于遇到类似情况的其他人,我最终没有使用Resizer MFT,而Video Processor MFT使用的工作量更少。