gpt4 book ai didi

c++ - 在 UWP 中用于拆分的抓取器

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:24 24 4
gpt4 key购买 nike

我需要你的建议。我想开发使用 Metro 接口(interface)进行音视频分离的应用。

通常我使用 DirectShow 来使用以下模式:创建一个抓取器,将其添加到 DS 图形,通过它捕获音频/视频流并将它们传递到我的 AVstream 驱动程序以进行拆分。但是在新程序中我想使用 Media Foundation 并将其插入 UWP。

我如何看待我的新应用。它必须具有用于通用控制的 Metro 接口(interface):选择源、添加参数、更改模式等。我想使用 MediaCapture 类来捕获流并渲染它们。在这里我没有看到任何问题,MSDN 有很多示例。但我不知道如何在源和渲染之间插入抓取器。

抓取器将执行哪些操作:

  1. 从 MediaCapture 接收输入流。
  2. 流转换:YUV -> RGB,添加效果等。
  3. 将输出流发送到渲染 (MediaCapture) 并发送到我的 AVstream 驱动程序以便与任何应用程序(Skype、Adobe Flash Player、Edge 等)拆分。

如何制作抓取器。在 MSDN 中我找到了三种方法:

  1. Sample Grabber Sink ( https://msdn.microsoft.com/en-us/library/windows/desktop/hh184779(v=vs.85).aspx )。在 MF dll 中接收/控制/发送流没有问题。但我不知道如何将该 dll 与 MediaCapture 链接?
  2. 源代码阅读器(https://msdn.microsoft.com/en-us/library/windows/desktop/dd940436(v=vs.85).aspx)。同样的问题,加上 Source Reader 无法播放。
  3. 自定义 MFT?在任何情况下,MediaCapture 都允许通过 AddEffectAsync() 连接到 MFT。

我的环境:MS Windows 10,MS Visual Studio Community 2015。

感谢您的任何想法。

最佳答案

这个问题和 UWP 对我来说根本不现实。我发现了以下内容:

“一些应用程序可以在后台密集工作,例如视频转换、在线财务数据处理等。现在 UWP 应用程序在离开屏幕时将暂停。”

https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/9950598-exclude-suspending-in-desktop

因此,如果用户最小化程序窗口,则程序会停止视频流。

关于c++ - 在 UWP 中用于拆分的抓取器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com