2012-04-20 66 views
0

我目前正在開發一款同時錄製兩個視頻的軟件。第一個幀率爲25fps,第二個幀率爲10fps(或將來可能爲15fps)。之後,這兩個視頻被合併爲一個帶有畫中畫的視頻。問題是,畫中畫DirectShow過濾器不支持具有不同幀率的視頻。現在我正在尋找一個可以產生「虛擬幀」的DirectShow過濾器,以將第二個視頻的幀率放大到25fps。有誰知道這樣的DirectShow過濾器?DirectShow過濾器,可以放大視頻的幀率

由於提前,大衛

+0

暫無現貨過濾器這一點,你需要,如果這種存在是爲了創建或使用第三方解決方案。 – 2012-04-20 13:54:05

回答

0

你需要實現自己的覆蓋過濾器,並把它的解碼器和渲染器之間。這個過濾器應該能夠接受流 - >所以兩個輸入引腳。在第一個數據流的情況下,它將獲取幀並將圖像疊加到第二個數據流生成的圖像上。所以每次你將一個圖像存儲在覆蓋流中。另一種解決方案是使用第三方覆蓋過濾器。

實現此目的的第二種方法是在VMR9濾鏡上使用自定義direct3d分配器演示器。以這種方式,您將在3D環境中渲染過程中混合圖像。這種情況下的第二個流將作爲一個單獨的圖來實現,並且輸出必須使用samplegrabber過濾器或自定義渲染器生成bmp圖像。這種方式將產生更靈活的解決方案 - 您可以在需要時與您交換覆蓋視頻。

+0

我確實有一個覆蓋過濾器,我需要一個過濾器來調整其中一個流的幀率。 – David 2012-04-23 12:39:09

+0

但是你的覆蓋過濾器不支持不同速率的流,這就是我提到的一個新的覆蓋過濾器實現的原因。 – AlexTheo 2012-04-23 13:37:35

+0

對不起,沒想到那個!但問題是我們的核心團隊已經離開了公司,而我對DirectShow並不是很有經驗,所以我寧願回到第三方過濾器!不管怎麼說,還是要謝謝你! – David 2012-04-23 13:45:01