Blue Iris FPS degrades reliably from 30 FPS to 15-22 FPS after 6-12 hours
Posted: Fri Jul 05, 2019 3:59 am
I am a new Blue Iris 5 user. I have set my cameras to send 30fps at a max 3k bitrate, and they work fine doing so. My machine is perfectly capable of decoding/encoding all 6 of my cameras simultaneously at no more than 20% CPU. It's an i7-4770k, and I use Intel hardware acceleration which I can confirm with Task Manager. The video is smooth and there are no problems viewing, recording, decoding, encoding, analysing frames at 30fps. When I use UI3 to stream the group stream, I can get 30fps since I changed the webcast default FPS to 30 and that works fine. When I view individual cameras I get 30fps and that works fine. However, after at least 6 hours or so (I haven't calculated the exact time or if it's truly after exactly n hours that the issue begins), the UI3 frame rate I get drops from 30fps to a random and inconsistent FPS between 15 and 22 FPS varying wildly by the second. In other words, it's dropping random frames.
Note that when I view the group webcast, I still see 30 FPS for the webcast itself (confirmed by the counter in the bottom left), but the individual cameras are visually dropping frames even though the group webcast itself is not. Again, when I view individual cameras, the frame rate is between 15 and 22 FPS. I have already confirmed that the cameras are still sending 30 FPS and that there are no issues with the camera stream. I've confirmed that by streaming from the individual cameras themselves, and still seeing 30 FPS. I've also confirmed inside of the Blue Iris statistics window that it's still receiving 30 FPS, and that the megapixels per second has not changed at all (still around 320MP/s). So, clearly Blue Iris is receiving 30 FPS.
What's interesting is that when there is motion, when I go to a clip that was recorded due to motion and right-click in UI3 and export as AVI, then that clip DOES have 30 FPS even though when viewed via UI3 it has 15-22 FPS. That means Blue Iris clearly recorded the clip at 30 FPS but when streaming through UI3 there is an issue that's causing frames to be dropped. Note that at no point does the server get overloaded, and the CPU always remains under 20%.
The only way I have been able to fix the FPS issue is by restarting Blue Iris. I have tried modifying every setting imaginable, from the encoder settings, reducing bitrates, resolutions, trying NVIDIA hardware acceleration instead of Intel, changing webcast group FPS, changing veryfast/superfast/ultrafast, etc. Nothing has helped. Note that I use "direct-to-disk" recording and I don't re-encode the streams (other than for UI3 viewing which is done in real time obviously.)
I am able to reliably reproduce this issue. After Blue Iris has been open for a day, the FPS degrades. If I restart Blue Iris, it's fixed, and then a day later the same thing happens. It has happened every day so far. Note that I run Blue Iris as a service.
Everything about this tells me "bug", since just by restarting Blue Iris I am able to fix the issue and there is no resource overload on the machine hosting the instance of Blue Iris, so please let me know how I can help you to troubleshoot and fix this issue.
Note that I do not need to be educated about why 30 FPS is a waste of resources and that there's minimal benefit to going above 15 FPS and so on; I am not looking for those excuses. My environment is perfectly capable of streaming, recording, encoding, decoding, analysing 30 FPS and this is what I have chosen to use and paid for a service that I expect to be able to handle this frame rate.
Thank you!
Note that when I view the group webcast, I still see 30 FPS for the webcast itself (confirmed by the counter in the bottom left), but the individual cameras are visually dropping frames even though the group webcast itself is not. Again, when I view individual cameras, the frame rate is between 15 and 22 FPS. I have already confirmed that the cameras are still sending 30 FPS and that there are no issues with the camera stream. I've confirmed that by streaming from the individual cameras themselves, and still seeing 30 FPS. I've also confirmed inside of the Blue Iris statistics window that it's still receiving 30 FPS, and that the megapixels per second has not changed at all (still around 320MP/s). So, clearly Blue Iris is receiving 30 FPS.
What's interesting is that when there is motion, when I go to a clip that was recorded due to motion and right-click in UI3 and export as AVI, then that clip DOES have 30 FPS even though when viewed via UI3 it has 15-22 FPS. That means Blue Iris clearly recorded the clip at 30 FPS but when streaming through UI3 there is an issue that's causing frames to be dropped. Note that at no point does the server get overloaded, and the CPU always remains under 20%.
The only way I have been able to fix the FPS issue is by restarting Blue Iris. I have tried modifying every setting imaginable, from the encoder settings, reducing bitrates, resolutions, trying NVIDIA hardware acceleration instead of Intel, changing webcast group FPS, changing veryfast/superfast/ultrafast, etc. Nothing has helped. Note that I use "direct-to-disk" recording and I don't re-encode the streams (other than for UI3 viewing which is done in real time obviously.)
I am able to reliably reproduce this issue. After Blue Iris has been open for a day, the FPS degrades. If I restart Blue Iris, it's fixed, and then a day later the same thing happens. It has happened every day so far. Note that I run Blue Iris as a service.
Everything about this tells me "bug", since just by restarting Blue Iris I am able to fix the issue and there is no resource overload on the machine hosting the instance of Blue Iris, so please let me know how I can help you to troubleshoot and fix this issue.
Note that I do not need to be educated about why 30 FPS is a waste of resources and that there's minimal benefit to going above 15 FPS and so on; I am not looking for those excuses. My environment is perfectly capable of streaming, recording, encoding, decoding, analysing 30 FPS and this is what I have chosen to use and paid for a service that I expect to be able to handle this frame rate.
Thank you!