我已瀏覽在這裏(堆棧溢出)試圖找到一個穩定的方式來獲得圖像(像素陣列)進行視頻文件的總稱。在C#.NET,我發現:獲得特定的視頻幀
http://www.codeproject.com/KB/graphics/ExtractVideoFrames.aspx
這幾乎正是我期待的,但我不斷收到此錯誤:
Could not load file or assembly 'Interop.DexterLib,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
or one of its dependencies. An attempt was made to load
a program with an incorrect format.
一切編譯罰款,但運行.NET運行庫時不喜歡'Interop.DexterLib',我已經仔細檢查過它是否在exe文件夾中,並且項目已經正確鏈接並編譯好了。
經過一番googleing的錯誤似乎是圍繞86 .DLL文件,並在64位操作系統上運行它們。爲了否定這一點,他們推薦構建x86,VS2010沒有這個選項,因爲他們用「任何CPU」代替它。這是問題嗎?有沒有什麼好的方法來解決它?
有沒有更好的方式來獲得在C#中的視頻幀,我已經看過DirectShow.Net和我的生活,我不能明白什麼是內直接顯示回事。我還沒有找到像這樣簡單的解決方案(如果可行的話)。
我的最終目標是能夠從2個視頻文件獲得幀字節數組...修改它們,然後將其保存到一個新的視頻。首先要把視頻記錄到內存中。
這可能是問題,可能會不會是因爲這個項目是從VS2008「升級」?我在任何地方的「Build」頁面上都沒有「Platform Target:」。 ?在平臺我得到的唯一選項是「活動(所有CPU)(我試圖做的事:http://preview.tinyurl.com/3rn3l5o),但都沒有效果 – blackboots 2011-04-21 06:05:42
在2010年開始的工作室一個新的DLL項目,然後使用。 – Vnuk 2011-04-21 06:15:26
完成上述步驟後,我可以從Visual Studio頂部的下拉菜單中打開「配置管理器...」,創建了一個新的「主動解決方案配置」,然後讓我更改爲x86或x64。然後,編譯器給我關於/不安全的未使用。在檢查「允許不安全代碼」後,編譯並現在(可能是由於我選擇了錯誤的視頻文件),我不斷收到錯誤:沒有找到視頻流。謝謝你的信息。 – blackboots 2011-04-21 06:16:43