Граббер для расщепления в UWP

Мне нужен твой совет. Я хотел бы разработать приложение для разделения аудио / видео с использованием интерфейса 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. 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. Кастом МФТ? В любом случае MediaCapture позволяет подключаться к MFT с помощью AddEffectAsync ().

Моя среда: MS Windows 10, MS Visual Studio Community 2015.

Спасибо за любые идеи.

1

Решение

Этот вопрос и UWP для меня вообще не актуальны. Я нашел следующее:

«Некоторые приложения могут интенсивно работать в фоновом режиме, например, это может быть конвертация видео, онлайн-обработка финансовых данных и многое другое.
Теперь приложение UWP будет приостановлено, когда оно выйдет за пределы экрана ».

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

Поэтому, если пользователь сворачивает окно программы, программа останавливает видеопоток.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]