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.
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.
When+ vs Continuous+
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.
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...
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.
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.
The gotchas section is really about sharing information that came from tickets or questions from past customers. Sharing the knowledge makes everyone better!
Gotcha 1: Recordings off or skipped
Are the cameras functioning?
Do you have good healthy live video? Not choppy? Not lagging? Not glitching etc.
If not, you need to fix the camera connection first. Garbage in = Garbage recorded.
See Gotchas - Live View article for details.
Make sure BI and Windows are working well together.
See Windows Tuning article for details.
Focus on the Storage sections.
Always good to review Firewall and Anti-virus sections as well.
The logs are a great place to start because it identifies errors associated with hardware BI is dependent on to function: Hard drives, NAS devices, DeepStack etc.
Look for Storage and Recording errors.
If you have a gap in your recordings, first make sure the server was running.
Search for Restarted after unexpected shutdown. Error code 2 (first column).
The timestamp of the preceding line tells you when the server went downs: 10:37:41.516.
Code: Select all
0 9/16/2021 10:37:41.516 PM AI Delete: nothing to do [62/168 hrs, 2.00M/5.00G, 256.0G free] 2 9/16/2021 10:38:03.393 PM App Restarted after unexpected shutdown (220.127.116.11/1500/240)
If the CPU is overloaded (>80%), then BI may be too busy to fulfill all the camera settings.
The biggest CPU savings are dual streams on all cameras / Direct to disc recording / hardware acceleration (e.g. Intel QuickSync).
The Connect cameras correctly section mentioned above also shares how to take advantage of these capabilities.
Windows / Server settings
Power savings: Make sure BI is running full throttle all the time.
If the disk drive or the network card is put to sleep, then obviously you will have poor recordings.
On a BI server, power saver settings should only put the monitor to sleep and nothing more.
Camera settings -> Record tab
If the video checkbox is unselected, you turned off recordings for the camera.
If you choose one of the "When" settings, the cameras will NOT record unless the camera triggered.
Make sure your trigger settings are correct.
Was the camera temporarily paused in BI?
Was the shield red?
Was the camera not active for certain profiles?
The image above shows the camera is set to inactive for Profile 2. Camera settings -> General tab.
The current active profile is 2 (Work hours).
In the camera border, BI tells you the camera is running Profile 0 (Inactive) instead of Profile 2, which is a great visual reminder of what is going on.
Is there a blue border around the camera? The blue border means the motion sensors are off for the camera.
If you chose one of the When+ record settings, then nothing will record because the camera will not trigger because the motion sensors are off.
The Alerts list / Timeline will always be empty because the camera is not triggering.
- Either your Schedule is running the Inactive profile as seen in the image above. This would result in ALL the cameras not recording.
- Or you paused the camera as stated above
- Or somehow the motion sensor is turned off. Camera settings -> Trigger tab.
The Continuous+ record settings is a good way to really test if recordings are not working vs your setup is incorrect. The Continuous+ record options instructs BI to record everything. The clips/recording files will be created and if there are any gaps in the recording, then you know there is an issue with recording on your BI machine.
This is an example of using BI features to isolate the issue. You suspect there is an issue with recordings. Turn on continuous recording, if not done so already. If the recordings have no gaps, then you know your Trigger tab settings are incorrect resulting in the cameras never recording or creating gaps in recordings. If the Recordings do have gaps, then you know there is an issue with recording on your BI server. You have isolated the issue!
If you choose the Continuous+ settings, review the camera after an hour or two. Are there any alerts in the alerts list for the camera. Should there be? If so, you know the camera is not triggering and something is wrong with your trigger settings.
If you really believe the issue is with BI software, provide the supporting evidence.
- Turn your recording settings to Continuous.
Set Combine/Cut to 30 min or 1 hr. Don't create large BVR files for us to examine.
- When you discover a gap, send the bvr to us for review.
- Specify the time when the gap occurred.
- Share your camera settings. Camera settings -> General tab -> Export
- Share the logs coinciding with bvr file. ** Very Important **
- Support info
- Confirm recordings stopped in the BVR file.
- Confirm your camera settings are not causing the issue
- Check the logs to see what could have caused recordings to stop.
Were there any errors associated with writing to disk?
The Understanding Log Files article/webinar is a case study on how I discovered NAS issues for a user.
Often we ask users to send a short BVR sample exhibiting the issue described in a ticket. To do so is easy.
- If you uncheck Combine or Cut Video, that will result in BI cutting the BVR file after each motion trigger.
- Or you can leave Combine or Cut Video, and change the time length to something small like 15 min.
- A final way is to select "Cut video when triggered with break time".
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
Gotcha 4: Clips / Recorded files
Issue: The length of the recorded files are very short.
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.
The key frame ratio has to be greater than 0.5. See Status -> Cameras tab for camera stats
If not, you will need to adjust your encoding settings on the camera. The setting is often referred to as the key frame interval.
See Camera settings article for details.
In addition, a pre-trigger buffer (5s) may need to be set if not done so already.
See details here.
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 and Recordings section of the Checklist to understand how to setup storage correctly.
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. See camera setup article for details.
Issue 2: Pre-trigger buffer
See above for details.
Issue 3: Playback window
Make sure Use sub stream if available is unselected.