2010-10-15 49 views
2

是否有人知道使用DirectShow和C++從DVD抓取圖像的方法?使用DVD渲染器時不支持採樣器,如果使用GetCurrentImage(VMR9無風窗控件的一部分),它看起來不起作用。使用直接顯示從DVD抓取圖像

回答

1

退房DirectShow例子中的「SampVid」樣本:

http://msdn.microsoft.com/en-us/library/dd375468(VS.85).aspx

這樣,您可以編寫自己的視頻渲染器的過濾器。你將遇到的唯一問題是如何捕捉這一類,因爲它全部通過「CDrawImage」類。包含在直接顯示基類中的winutil.h & .cpp中包含的源代碼。滾動您自己的版本可以解決您的問題,並允許您在圖像數據寫入屏幕時獲取一幀圖像數據。

+0

感謝您的意見,我們會對此進行調查。不知道DVD的效果如何,但會讓你知道。 – paj7777 2010-10-15 12:32:04

1

編寫一個trans-in-place視頻過濾器,您可以使用它獲取樣本並將其寫入磁盤。

當您檢測到按鍵(用於屏幕截圖)時,從過濾器的Transform()函數調用回調到您的程序中。

有關編寫過濾器的更多信息,請參閱MSDN的指南Writing Transform Filters

你可以檢查出從MSDN的EZRGB24 filter sample,它演示瞭如何使用CTransformFilter

祝你好運!