调整 MFT 问题的大小:Windows 媒体基础中的视频合成
Resize MFT Issues: Video Composition in Windows Media Foundation
我正在尝试在 Media Foundation 中使用两个独立的视频源进行合成。我正在尝试使用视频叠加层对视频进行编码。为此,我尝试在较小的输入上使用 Video Resizer。
我已经看到了几个关于这个的话题,但我想无论如何我都会四处询问。
基本上这个想法是创建两个源 readers 和一个接收器编写器。源文件是h264,所以我用reader解码成YUY2。在处理样本时,我将适当的样本发送到 Resize MFT,然后下线(我还没有做到这一点)我将两个图像组合起来使用 MFCopyImage 创建叠加效果。
我的问题是: 当我在 Resize MFT 上调用 ProcessInput 时收到 E_INVALIDARG。
为了初始化 mft,我通过 SetInput Type 从 reader 给它适当的类型。之后,我通过 PropertyStore 设置所有适当的属性,然后更新 MFT 输出类型的帧大小。我已阅读文档并根据 MFT Processing Model.
对我的实现进行建模
在我实际尝试使用 ProcessInput 之前,None 这些步骤会引发任何危险信号。
虽然我在 Windows Media Foundation 方面的经验有限,但我已经成功地使用了 Framerate DSP。我将不胜感激 任何 建议。
谢谢!
对于遇到类似情况的其他人,我最终没有使用 Resizer MFT,而是使用了 Video Processor MFT,后者工作起来更省力。
我正在尝试在 Media Foundation 中使用两个独立的视频源进行合成。我正在尝试使用视频叠加层对视频进行编码。为此,我尝试在较小的输入上使用 Video Resizer。
我已经看到了几个关于这个的话题,但我想无论如何我都会四处询问。
基本上这个想法是创建两个源 readers 和一个接收器编写器。源文件是h264,所以我用reader解码成YUY2。在处理样本时,我将适当的样本发送到 Resize MFT,然后下线(我还没有做到这一点)我将两个图像组合起来使用 MFCopyImage 创建叠加效果。
我的问题是: 当我在 Resize MFT 上调用 ProcessInput 时收到 E_INVALIDARG。
为了初始化 mft,我通过 SetInput Type 从 reader 给它适当的类型。之后,我通过 PropertyStore 设置所有适当的属性,然后更新 MFT 输出类型的帧大小。我已阅读文档并根据 MFT Processing Model.
None 这些步骤会引发任何危险信号。
虽然我在 Windows Media Foundation 方面的经验有限,但我已经成功地使用了 Framerate DSP。我将不胜感激 任何 建议。 谢谢!
对于遇到类似情况的其他人,我最终没有使用 Resizer MFT,而是使用了 Video Processor MFT,后者工作起来更省力。