2013-01-07 37 views
0

我寫了一個WPF應用程序,可以打開,編輯和渲染.GRF files。渲染時,我不希望它打開一個新窗口(如GraphEdit),所以我找到了一個解決方案,它使用Sample Grabber將樣本呈現到WPF畫筆中。將Microsoft DTV-DVD視頻解碼器連接到採樣器?

在渲染之前,我的應用程序將使用SampleGrabber替換.GRF文件中的Video Renderer。這工作得很好,直到我遇到Microsoft DTV-DVD Video Decoder。出於某種原因,它只連接到視頻渲染器,並且不是到我的Sample Grabber ...因此目前我的應用程序無法處理MPEG2。

有人可以向我解釋:爲什麼?什麼限制這些過濾器連接?

而我該如何抓取已解碼的MPEG2樣本呢?

回答

0

Sample Grabber Filter只會連接到VIDEOINFOHEADER結構描述的視頻媒體類型(有關詳細信息,請參閱備註部分)。您的視頻輸出爲MPEG2VIDEOINFO,採樣器會拒絕它。

舊SDK具有Sample Grabber-like過濾器的源代碼,您可以通過它改進以添加對缺少格式結構的支持。單獨採樣採集卡過濾器本身就非常簡單。你也可以安裝一些額外的解碼器(第三方,免費軟件,去隔行器等),爲它帶來VIDEOINFOHEADER媒體類型的輸出。

+0

只是想知道......有沒有辦法「抓取」MPEG2VIDEOINFO類型的樣本? –

+0

好的,他們仍然是媒體樣本。但是你必須先連接過濾器,SG不會連接這種媒體類型,所以你需要另一個過濾器。 –