1

Ich brauche Ihren Rat. Ich möchte die App für Audio/Video-Splitting mit Metro-Schnittstelle entwickeln.Grabber zum Spalten in UWP

Normalerweise benutze ich DirectShow dafür mit dem folgenden Schema: Erstelle einen Grabber, füge ihn zum DS-Graph hinzu, erfasse damit die Audio-/Video-Streams und gebe sie an meine AVstream-Treiber zum Teilen weiter. Aber im neuen Programm möchte ich Media Foundation verwenden und es in UWP einfügen.

Wie sehe ich meine neue App. Es muss Metro-Schnittstelle für die gemeinsame Kontrolle haben: Auswahl der Quellen, Hinzufügen von Parametern, Ändern von Modi und etc. Ich möchte MediaCapture-Klasse für die Erfassung von Streams und Rendern sie auch verwenden. Hier sehe ich keine Probleme, MSDN hat viele Beispiele dafür. Aber ich habe keine Ideen, wie man einen Grabber zwischen Source und Render einfügt.

Welche Operationen ein Grabber tun:

  1. empfangen Eingangsstrom von MediaCapture.
  2. Stream-Umwandlung: YUV -> RGB, Hinzufügen von Effekten und etc.
  3. Ausgabestrom senden Rendering (MediaCapture) und zu meinem AVStream Treiber für die Spaltung mit allen möglichen Anwendungen (Skype, Adobe Flash Player, Edge ....).

Wie man einen Grabber macht. In MSDN habe ich drei Möglichkeiten gefunden:

  1. Sample Grabber Sink (https://msdn.microsoft.com/en-us/library/windows/desktop/hh184779(v=vs.85).aspx). Kein Problem, Stream in MF dll zu empfangen/zu steuern/senden. Aber ich weiß nicht, wie man diese DLL mit MediaCapture verbindet?
  2. Quellenleser (https://msdn.microsoft.com/en-us/library/windows/desktop/dd940436(v=vs.85).aspx). Die gleichen Probleme, plus der Source Reader funktioniert nicht für die Wiedergabe.
  3. Benutzerdefinierte MFT? In jedem Fall ermöglicht MediaCapture die Verbindung mit MFT über AddEffectAsync().

Meine Umgebung: MS Windows 10, MS Visual Studio Gemeinschaft 2015

Vielen Dank für alle Ideen.

Antwort

0

Diese Frage und UWP sind für mich überhaupt nicht aktuell. Ich fand folgendes:

"Einige Apps können im Hintergrund intensiv arbeiten, zum Beispiel Video Converting, Online-Finanzdatenverarbeitung und mehr. Jetzt wird UWP-Anwendung ausgesetzt, wenn es Offscreen gehen."

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

Also, wenn der Benutzer das Fenster Programm minimiert, dann stoppt das Programm einen Video-Stream.