我正在尋找一種方法來解碼使用c#h264(或甚至任何視頻格式)。最終目標是能夠解碼圖像,並非常嚴格地實時控制播放。我正在製作的這個項目是一個非線性視頻藝術作品,需要高清素材進行循環和編輯,播放某些幀範圍,然後無縫跳到下一個隨機選擇的幀範圍。解碼h264視頻
我已經創建了一個應用程序,它從磁盤讀取圖像文件(jpegs)並按順序在屏幕上播放它們,我可以完全控制裝入哪個幀以及何時顯示它,但是在全高清分辨率時需要稍微比我想要加載硬盤中的圖像(每個大約500k)要長,我認爲使用壓縮視頻格式會更小,因此讀取和解碼成特定幀的速度更快,但是我找不到任何現成的方法去做這個。
有沒有可以做到這一點的任何庫?即從視頻文件中提取一個任意幀,並在比顯示幀(以25fps運行)所需時間更少的時間內將其提供給我的應用程序,我已經查看了vlc庫和ffmpeg的包裝器,但我不知道哪一個會要好一些,否則會有另一種更好的選擇。我也不知道哪個編解碼器是最好的選擇,因爲有些是基於關鍵幀的,使得任意幀提取可能非常困難。
任何意見,歡迎,感謝
如果您已經有一個可行的解決方案 - 爲什麼不把JPEG預加載到內存中?這應該會提供更好的性能......您還可以使用'MemoryMappedFile'使讀取速度非常快...... – Yahia
如果您想完全控制,可以探索Microsoft的DirectShow API http://msdn.microsoft.com/zh-cn/ -us/library/dd390351(v = VS.85).aspx – Douglas
以25fps的速度對HD H264視頻進行軟件解碼是一項相當艱鉅的挑戰! – James