CameraTwin Recorder

This page contains information about our recording solution that records the receiving camera stream powered by the Unreal Engine capabilities.

CameraTwin Recorder

In the current version of the recorder there is no UI to show the progress of the recording, the recorder is just a background process that collects and stores in files all the video frames and related metadata with their respective timestamps. You can adjust some parameters of your recording by changing the Recording Settings. The recorder is multithreaded and you can set the number of threads that it will use and the maximum amount of frames its going to cache by going to Project Settings -> CameraTwin -> Recorder Default Settings and change the Recorder Threads and the Recorder Tasks Max Queue

Don't be afraid to set the Recorder Threads to a number more than your physical cores as they are used in IO operations and a single Physical core can handle multiple such threads. That said be careful to select a sensible number for your machine inside the range of 0.5 - 3x your pysical/logical cores.

The Recorder Tasks Max Queue will only affect your ram usage and you can think of it as the maximum headroom in seconds that the recorder should cache in order to catch up with the recording, meaning at 30fps if you want 2 seconds headroom you should set this to

2 x 30 = 60.

The recorder is tightly coupled with the CameraTwin Source, so if you have multiple cameras connected each one will have its own recorder and that can affect the performance if multiple cameras are recorded at the same time depending on the computing power of your machine. You might need to adjust the Recorder Threads and the Recorder Tasks Max Queue settings in that case.

Recording Output Files

The recorder by default will save all files to a folder inside the <Unreal Project Folder> -> Saved -> CameraTwin -> Recordings -> <Timestamp of the recording>

After the recording, in this folder you will find the following files:

  • All frames of the camera feed as image files of your selected format (πŸ‘€ Recording Settings) and their filename will follow the format frame_<frame-timestamp>.<format> i.e. frame_107686597995.png

  • All Metadata as .txt files with the same filename formatas the images.

  • [Optional πŸ‘€ Recording Settings] A video.mp4 with the recording in video format produced by the Image sequence with the use of ffmpeg

  • [Optional πŸ‘€ Recording Settings] the metadata.xml file that is the aggregation of all the individual metadata files in xml format with a list of <frames> consisted of <timestamp>, <pose>, <cameraProperties> information.

Encoder Setting

In order for CameraTwin to be able to generate a video from the image sequence you will need to set the path of ffmpeg executable in the

Project Settings -> Command Line Encoder -> Executable Path

If the executable path of ffmpeg is not set the video will not be generated, but the recorder with handle the error gracefully.

Last updated