0

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

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

非常感激你的帮助。

编辑:

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

4

3 回答 3

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 获得二进制文件。

于 2015-06-16T17:27:30.197 回答
0

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

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

于 2014-06-13T13:21:40.180 回答
0

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

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

于 2012-07-25T17:00:49.387 回答