Metro MediaCapture MFT效果说明

时间:2012-06-28 19:21:31

标签: c# webcam microsoft-metro effect mft

我正在尝试对我正在移植到Metro的WPF应用程序的mediacapture流应用效果。在WPF应用程序中,我使用像素着色器来修改其源被设置为网络摄像头流的位图,但由于Metro的效果已被删除,我正在寻找替代解决方案。

我发现最好的,也是最符合Metro标准的方法是构建我自己的MFT并通过MediaCapture方法将它们添加到我的addEffectAsync()元素中。我已经下载了MFTGrayscale和MediaExtension示例,这些示例展示了如何将这些效果应用于MediaCapture元素,但我在理解实际的C ++ MFT代码时遇到了问题。有人可以指点我或者给我一个体面的演练/解释我将如何从头开始构建我自己的MFT效果?我不太了解C / C ++,只是足以理解一些示例代码。我真的遇到了MFT的概念和架构方面的问题,因此对源代码非常困惑。

非常感谢您的帮助。

编辑:

我考虑的另一个选择是使用SharpDX。但是我在获取要在xaml图像元素上显示的MediaCapture对象的流时遇到问题。任何帮助,将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

你应该看看下面的git repo:https://github.com/mmaitre314/VideoEffect

它展示了如何将Lumia Imaging SDK,Win2D和DirectX HLSL像素着色器中的图像效果应用于适用于Windows Phone 8.1和Windows 8.1的Universal Store Apps中的视频。

可以通过MediaTranscoder,MediaComposition,MediaCapture或MediaElement应用效果。二进制文件可以通过NuGet获得。

答案 1 :(得分:0)

我最终在MSDN论坛上得到答案。这不是一个理想的答案,但这是我一直担心的事情。

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/f3a6934e-df7a-44da-bfd8-7b95d494ff43/#90690f89-e57d-4043-9881-60fcc587f736

答案 2 :(得分:0)

这是完全可行的......我刚刚从样本中重写了一个MF变换,以使用诺基亚成像SDK并实时过滤网络摄像头视频。您可以在下面的链接中看到我是如何做到的(加上下载一些源代码)。这不完全是您需要做的,但在维基页面中,我解释了您需要从MS提供的样板样本中更改的内容。

http://developer.nokia.com/community/wiki/Template_universal_app_for_video_recording_with_MediaCapture_using_Imaging_SDK_Filters