方式一
- 利用 SceneCaptureComponent2D 和 RenderTexture2D 獲取 TArray
數據,再轉成Texture2D或者 uint8 數組 - 需要連續采集時,不推薦
方式二
- 利用RHI的
ENQUEUE_RENDER_COMMAND
和ReadSurfaceData
- 比較推薦,之前和 python tensorflow 內存共享幀數據時用過,但后來發現其實 python 那邊完全可以從顯存那邊拿數據(背鍋者的自我修養)
方式三
- 讀取BackBuffer
- 利用
OnBackBufferReadyToPresent
和OnBackBufferReady_RenderThread(SWindow& SlateWindow, const FTexture2DRHIRef& BackBuffer)
- 一般推薦
方式四
- 利用
FFrameGrabber
其他(視頻流)
- OBS
- FFmpeg、vlc
- win32gui - python