UWP中用于拆分的抓取器

Grabber for splitting in UWP

本文关键字:抓取 拆分 用于 UWP      更新时间:2023-10-16

我需要你的建议。我想开发使用Metro接口进行音频/视频分割的应用程序。

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

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

抓取器将执行哪些操作:

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

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

  1. 样品采集槽(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)。同样的问题,加上源阅读器无法播放
  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

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