我希望能夠使用OpenGL創建視頻輸出文件,而不是屏幕輸出中的通常顯示。我想通過不使用glutPostRedisplay()或(SFML版本,這是這樣的:) window.Display(),並以某種方式使用glReadPixels()來代替。OpenGL - 創建視頻輸出文件
glReadPixels使像素內容到內存中的數組(正如你可能已經知道了),但我怎麼可以轉換成一個框架,並串幾幀一起在一個視頻文件?視頻文件的格式是什麼,以便我可以播放它?
我應該解釋爲什麼我想這樣做:很多物理模擬的可能需要很長的時間來計算足夠的信息來顯示一幀,所以最好是離開它運行過夜,播放視頻文件,第二天早上。你不會想每五分鐘回來一次,看看發生了什麼。
您可以將其存儲在原始幀(RGBA)中,並稍後處理它。與gstreamer。 (這也允許將轉換管道嵌入到應用程序中)。 –
所以gstreamer是我可以在我的代碼中包含的東西,並傳遞一些原始幀,我會得到一個ogg或mpeg或輸出? – user3728501
或多或少。它是一個完整的框架,因此對於一個應用程序至少可以看起來很臃腫;但是如果你已經知道例如。 unix風格的管道和過濾器,沒有太多的學習曲線。 –