我有一系列jpg圖像,我正在捕獲並渲染到屏幕以創建視頻。在C#中渲染圖像序列以製作視頻
我使用JpegBitmapDecoder從MemoryStream中解壓縮圖像,並通過在Image控件上設置Source來渲染它。這似乎工作正常,但處理器開銷相當高。圖像是1280x720,運行速度爲30fps,我幾乎不能跟上我的電腦(雙核2.8Ghz)。以更高的分辨率運行會導致我丟棄幀。我想嘗試降低CPU利用率。
大部分時間花在解碼上(我的機器上的解碼器的簡單基準測試顯示我可以解碼大約40fps)。有誰知道是否有更快的解碼器可用(DirectX?DirectShow?我可以卸載到視頻卡的東西?)
至於渲染,它似乎不像Image控件是專爲這種類型的使用而設計的(我真的很驚訝它的工作原理,我只是試了一下,因爲它很容易做到)。是否有另一種方法來渲染可能更快的單幀?
另一種解決方案可能是依次命名jpg,然後在VirtualDub中打開第一個,然後將其作爲視頻播放。 – 2009-07-11 14:42:07
我應該更清楚。我正在流式傳輸圖像,並希望從流式傳輸的圖像中播放實時視頻。 – Dolphin 2009-07-12 00:01:35