Деинтерлейс выход ТВ-тюнера в DirectshowNet - PullRequest
1 голос
/ 01 марта 2011

Я занимаюсь разработкой приложения захвата ТВ-тюнера в c #.Я использую DirectShowNet для него, и мое устройство - AverMedia Super 009. Я использую метод capturegraphbuilder.renderstream (), и я использую вывод захвата, а не предварительный просмотр.Также я использовал рендерер vmr9.Но вывод, который я получаю, является чересстрочным, т. Е. Всякий раз, когда они движутся по экрану, изображение отображается как зубчатый край, поэтому я хочу деинтерлейсировать его.».Когда я проверил «videoHeader.InterlaceFlags & AMInterlace.IsInterlaced», он показывает, что видео не чересстрочное.Согласно тому, что я прочитал в Интернете, я не могу деинтерлейсировать FORMAT_VideoInfo, поэтому мне нужно преобразовать его в FORMAT_VideoInfo2.Таким образом, любой знал способ преобразования видеоинформации в видеоинформацию 2.

Я также использовал некоторый программный фильтр с чересстрочной разверткой, такой как AlparySoft, ffdshow, DScaler.Но все же движущиеся части выглядят как зубчатые края.

Так что, пожалуйста, подскажите, как мне деинтерлейсировать график.

1 Ответ

0 голосов
/ 07 марта 2011

Чтобы преобразовать VideoInfo в VideoInfo2, вам нужно написать фильтр преобразования DirectShow, который является утомительной задачей.Если вы решите пойти по этому пути, вы можете начать с примера фильтра Contrast из DirectShow SDK (теперь является частью Windows SDK).

Попробуйте сохранить видео в файл AVI и деинтерлейсировать его в VirtualDub * 1004.* со многими доступными фильтрами деинтерлейсинга (такими как Area-Based или Deinterlace Muxun).Если вы найдете такой, который хорошо работает с вашим видео, вы можете использовать этот фильтр в приложении DirectShow, используя нашу оболочку .

...