Record & export gameplay footage at runtime (C++)
I'm currently researching the best way to record gameplay footage on runtime and then export it as a video file (in any format). I need the feature to be working in a packaged project, so solutions such as using matinee or sequences are exactly what I need but are editor only features. So far, I found 4 potential solutions:
FrameCapture (https://www.unrealengine.com/marketplace/en-US/slug/framecapture-screen-capture-and-video-recorder). A C++ library that enables the recording and export to file of runtime footage. I haven't bought it yet as I am looking for free solutions first.
UMovieSceneCapture (https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1414696-tsharedptr-destroyes-previous-rawpointer). An engine class that, form my understanding, enables the export in video format of SceneMovies and Sequences. Several devs seems to have tried to implement it but not successfully (see link above). I'm not too sure how to go about using it either.
Replay System (https://docs.unrealengine.com/en-us/Engine/Replay). An UE feature that enables the recording of object metadata (position, rotation properties etc..) and its replay (similar to system found in Fifa and CS:Go). This system is apparently used in Fortnite, but no export feature has been implemented yet.
Video Capture Plugin (https://github.com/ash3D/UEVideoRecorder) A UE plugin that requirestwo library to be implemented (not ideal) and that supposedly enables the recording of footage in Unreal Engine. I am currently testing this solution out.
I just wanted to know if there are any other solutions out there, and if anyone has successfully implemented a similar feature?
EDIT: I ended up using FrameCapture which has a decent implementation of OpenCV in C++/Blueprint, but perfomances are not best due to the way Unreal allows us to read the viewport's pixel stream. Currently trying to improve that further.
I ended up using FrameCapture which has a decent implementation of OpenCV in C++/Blueprint, but perfomances are not best due to the way Unreal allows us to read the viewport's pixel stream. Currently trying to improve that further.
answered May 28 '19 at 04:22 PM
What about making a local server, that will save the replecated data ?
answered Apr 23 '19 at 11:18 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here