【问题标题】:Grabber for splitting in UWP用于在 UWP 中拆分的抓取器
【发布时间】:2016-04-18 15:26:30
【问题描述】:

我需要你的建议。我想使用 Metro 界面开发音视频分割应用。

通常我使用 DirectShow 使用以下架构:创建一个抓取器,将其添加到 DS 图,通过它捕获音频/视频流并将它们传递给我的 AVstream 驱动程序进行拆分。但在新程序中,我想使用 Media Foundation 并将其插入 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。

感谢您的任何想法。

【问题讨论】:

    标签: c++ windows microsoft-metro win-universal-app samplegrabber


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-18
      • 2016-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2021-11-18
      • 1970-01-01
      相关资源
      最近更新 更多