Запись Directshow / проблема предварительного просмотра - PullRequest
2 голосов
/ 01 июня 2011

У меня есть проект, в котором мне нужно записать видео с помощью DirectShow с веб-камеры, но мне нужно иметь возможность остановить запись, пока продолжается предварительный просмотр.

Я использую WPFMediaKit

http://wpfmediakit.codeplex.com/

Проблема в том, что когда я записываю видео, функция паузы также приостанавливает панель предварительного просмотра в приложении

Я новичок в DirectShow, любые предложения, как можно решить эту проблемувопрос или решение

Большое спасибо.

PS Я использую C # & WPF

Ответы [ 3 ]

3 голосов
/ 06 июня 2011

Если вы можете принять кратковременную паузу в предварительном просмотре, когда вы запускаете / останавливаете запись, и не хотите использовать что-то вроде 2-графового подхода GMFBridge, вы можете отсоединить любой из выводов захвата на фильтре источника захвата видео (при условии, что вы используя отдельный предварительный просмотр и контакты захвата из исходного фильтра) или отключите часть цепочки File Writer вашего подграфа захвата.

Проблема в том, что фильтр-фильтр должен быть приостановлен, прежде чем можно будет вносить изменения в его топологию, поэтому вам необходимо:

График паузы Отключите или переподключите цепочку File Writer Резюме График

По моему опыту временная пауза не очень заметна.

3 голосов
/ 02 июня 2011

Я не знаю о WPFMediaKit, но в основном, когда вы хотите начать / остановить запись, сохраняя предварительный просмотр, вам понадобятся два графика и кое-что для связи между ними. Взгляните на документ pdf на странице GMFBridge .

0 голосов
/ 08 апреля 2013

Пожалуйста, используйте метод StreamControl из ICaptureGraphBuilder2, он позволяет вам индивидуально управлять любым фильтром в вашем графике.

...