This new feature is introduced in 0.8.24.
It may not be entirely intuitive so I'll attempt to clarify the behavior here.
It controls the frequency at which the frames are displayed on screen vs the frequency at which they are captured from the camera. (During live capture sessions).
It has an impact on the smoothness of display and on the maximum duration of the delay feature.
When the camera captures a frame, it is stored in an internal buffer. This buffer is then consumed independently by the display module and by the recording module.
The recording module always consumes all the frames to avoid any frame drop in the resulting video.
For the display on screen there are two choices, controlled by this setting.
1. Camera frame signal.
Each time the camera receives a frame it is added to the internal buffer and the display module receives a signal.
In this strategy, the display module uses this signal to take the latest frame from the buffer and push it to its internal delay buffer, and take one frame from the delay buffer and display it on screen. (If delay is zero they are the same frame).
This is the historical mode.
Advantage: If the computer is fast enough, the delay buffer contains all the camera frames. If you pause the stream you can navigate with the full temporal granularity.
Drawback: If the computer is not fast enough, it may cause jittery display, especially in dual camera mode.
2. Forced framerate.
In this strategy, an independant timer loop is used by the display module. It's only when this timer ticks that the display module takes the latest frame from the buffer and push it to its internal delay buffer and take one frame from the delay buffer and display it on screen.
Advantage: Smoother display, especially when using dual camera mode (unless you go too low in framerate).
Advantage 2: If you lower the framerate, you can fit a longer time period into the delay buffer.
Drawback: Some frames are missing if you pause the stream and analyse it.
- The selected framerate has no relation to the camera framerate.
- The selected framerate has no impact on the framerate stored in the recorded videos. (videos are created at the camera framerate).
- In either mode, the recording module takes precedence in terms of performance. The display module will always drop frames if the computer has trouble keeping up.
- Setting the framerate to higher than the camera framerate will not provide any benefits.
- You have to reconnect the stream for this option to take effect.
The default is to use "Forced framerate" at a value of 25 fps. Feedback is welcomed on whether this is a good default.
If you have questions or comments please post below.