【UE4】帧数据获取与转换

方式一

  • 利用 SceneCaptureComponent2D 和 RenderTexture2D 获取 TArray 数据,再转成Texture2D或者 uint8 数组
  • 需要连续采集时,不推荐

方式二

  • 利用RHI的 ENQUEUE_RENDER_COMMANDReadSurfaceData
  • 比较推荐,之前和 python tensorflow 内存共享帧数据时用过,但后来发现其实 python 那边完全可以从显存那边拿数据(背锅者的自我修养)

方式三

  • 读取BackBuffer
  • 利用 OnBackBufferReadyToPresentOnBackBufferReady_RenderThread(SWindow& SlateWindow, const FTexture2DRHIRef& BackBuffer)
  • 一般推荐

方式四

  • 利用 FFrameGrabber

其他(视频流)

  • OBS
  • FFmpeg、vlc
  • win32gui - python

参考

posted @ 2021-11-12 10:38  砥才人  阅读(2252)  评论(0编辑  收藏  举报