2009-04-22 89 views
5

我想打開.avi文件(優選任何視頻文件)時,與該視頻作爲位圖(陣列)的序列工作,然後將其顯示在屏幕上,或將其保存到該文件。視頻處理在.NET

我在.NET中有什麼選擇?

回答

3

事實證明,Splicer對我來說是最好的選擇。它是圍繞DirectShow.Net的開源代碼封裝。編程模型非常簡單,即使我能夠理解它。

1

此前從微軟的託管DirectX包裝提供的AudioVideoPlayback組件,它可以用於這個但這basically died

這篇文章列出了幾個候補,我將列出這裏的完整性(我不能爲自己的相對優勢說話):

值得注意的是原因不使用託管代碼中的DirectShow鏈實現過濾器之一是,只有一個版本的CLR可以一次託管[1],因此兩個不兼容版本的過濾器會以不愉快的方式失敗(這與託管的shell插件相同)。

但是,將其作爲應用而不是作爲過濾器應該沒問題。

使用DirectShow任何現有的音頻/視頻流由系統解碼應該來找你訪問。

[1] 4.0 CLR是meant to remove this issue從2.0起的所有CLR版本。這是否是對現有擴展點的追溯修復是一個懸而未決的問題。

+0

「一次只能託管一個版本的CLR」的計劃將在.NET 4.0中消失,不是嗎? – OregonGhost 2009-04-22 09:07:06

+0

是的,然而這是一段等待......即使Windows7是IIRC不依賴於4.0,所以儘管它提供了一個託管層來執行外殼擴展,但使用它們到4.0將是危險的。我以爲他們會簡單地以4.0釋放出來,以避免這種 – ShuggyCoUk 2009-04-22 09:35:28

1

您也可以免費下載非商業用途VideoLab.NET - www.mitov.com並使用它。它包括演示如何使用一行代碼從流中獲取位圖。