This article goes under the covers of the Recording tab. We share how BI records which should hopefully provide a better understanding of the settings. With this understanding, you should have a better appreciation of the software as well as how to leverage the software to meet your requirements.
If you prefer to listen instead of read, watch the Recording Tab webinar.
We also have an overview "Recordings and Storage webinar" for those who are new to BI. See our onboarding playlist in the YouTube channel.
Finally, the Gotchas section below has learnings from past tickets.
User Interface
The triggers on the clip list and the timeline are the key interfaces used to access recordings.
And keep in mind the connection between the triggers in the clip list and the triggers in the timeline.
Now I'm going to make the connection between the BI settings/dialogs and the user interface.
Video Settings
When+ vs Continuous+
Periodic
File Storage Options
Combine or cut video each:
Cut video when triggered with break time
Recording Decision Tree
Recording File Options Scenarios/Use cases
Periodic Use Cases
The Periodic recording is largely used by environmental groups. One use case is a Wildlife organization that counts the salmon population with underwater cameras.
The Triggered + Periodic: Some users did not have enough storage and therefore use this instead of the continuous options.
Kind of provides a summary/timelapse review of the day.
Record format
The Record format dialog determines how recordings are saved to the disk.
Camera settings -> Record tab-> Video file format and compression.
Record File Format
Camera settings -> Record tab -> Video file format and compression...
D2D: Saves video stream directly from the camera to the file.
Re-encode: BI processes the camera stream and re-encodes in H.264 format before saving to file.
Most users start with Re-encode (default setting) in order to get the camera up and running.
After doing so, they often switch to D2D because of the CPU savings.
When doing so, be sure to playback some Clips and Alerts just to make sure BI can read and playback recordings correctly.
Pre-trigger buffer
Re-encode: BI processes the camera stream and re-encodes in H.264 format before saving to file.
Most users start with Re-encode (default setting) in order to get the camera up and running.
After doing so, they often switch to D2D because of the CPU savings.
When doing so, be sure to playback some Clips and Alerts just to make sure BI can read and playback recordings correctly.
Camera settings -> Record tab.
Largely set based on user preference (5s is recommended). However, this setting is extremely crucial when implementing dual streams with D2D recordings.
The issue here is video comes to BI compressed. In order to uncompress the video, BI first needs a key frame. A key frame is the entire camera frame compressed. Once a key frame is available, then all the subsequent frames can be re-created. With the complex compression algorithms used today, the in between frames represent incremental changes from the previous frame. Unless a key frame is first available, there is no way to reconstruct frames (video) from the interim frames.
Thus, the importance of setting the encoding on the camera, ideally to 1 key frame per second.
Rule of thumb:
Pre-trigger buffer >= 1/kfps
For example, if the camera stats state 0.5 for the kfps, 1/0.5 = 2s. The pre-trigger buffer for the camera should be >= 2s.
If you have dual streams, the pre-trigger buffer has to be large enough to contain a key frame for each stream.
For example if the kfps = 0.5 for the main stream, the pre-trigger buffer has to be >1/0.5, i.e. > 2s.
However, if the kfps = 0.25 for the sub stream, the pre-trigger buffer has to be > 1/0.25, i.e. > 4s.
Thus the pre-trigger buffer needs to be at least 5s.
Largely set based on user preference (5s is recommended). However, this setting is extremely crucial when implementing dual streams with D2D recordings.
The issue here is video comes to BI compressed. In order to uncompress the video, BI first needs a key frame. A key frame is the entire camera frame compressed. Once a key frame is available, then all the subsequent frames can be re-created. With the complex compression algorithms used today, the in between frames represent incremental changes from the previous frame. Unless a key frame is first available, there is no way to reconstruct frames (video) from the interim frames.
Thus, the importance of setting the encoding on the camera, ideally to 1 key frame per second.
Rule of thumb:
Pre-trigger buffer >= 1/kfps
For example, if the camera stats state 0.5 for the kfps, 1/0.5 = 2s. The pre-trigger buffer for the camera should be >= 2s.
If you have dual streams, the pre-trigger buffer has to be large enough to contain a key frame for each stream.
For example if the kfps = 0.5 for the main stream, the pre-trigger buffer has to be >1/0.5, i.e. > 2s.
However, if the kfps = 0.25 for the sub stream, the pre-trigger buffer has to be > 1/0.25, i.e. > 4s.
Thus the pre-trigger buffer needs to be at least 5s.
Gotchas
The gotchas section is really about sharing information that came from tickets or questions from past customers. Sharing the knowledge makes everyone better!
Gotcha 3: Time lapse video
Record setting: Set to Continuous
Camera settings -> Record tab
Recording file format: Has to be Re-encode not D2D.
Camera settings -> Record tab -> Video file format and compression button
Issue: The length of the recorded files are very short.
Fix:
The number one cause of "0 bytes" would be you are recording direct to disc, yet there was no key frame to start the recording. See Key frame ratio section for details.
Alternatively, the issue could be the result of disk full issues on the drive where you are saving recordings. You would have DISK FULL errors in the log or see RED on the Status button -> Storage tab. See the Storage troubleshooting guide for details.
A final possibility could be you have hardware encoding turned on. If so, test with feature turned off.
Global settings -> Web server tab -> Advanced -> Streaming 0.
Confirm Hardware acceleration = No.
Issue: User chooses Continuous + Alert as the record setting. Playback never switches to the mainstream (high resolution) during alerts.
Issue 1: Camera encoding
First check if there is a yellow triangle warning symbol in the Camera window. If so, the fps of the video stream is too low or the key frame ratio is too low. Check the key frame ratio.
Issue 2: Playback window
Make sure Use sub stream if available is unselected.