5.2.7.0 - RTSP sub-streams for high-MP cameras

Interesting, I experienced UI3 crashing the service yesterday with my system.

I'm running 5.2.9.20 with BI as a service (using a user account).

I narrowed it down to having audio enabled in UI3, Android and local console doesn't trigger the problem. Normally I leave audio disabled in UI3, but I remounted a camera yesterday and left the audio turned on after testing. I went to check on the camera a little later and experienced the crash, which then lead to further investigation.

It happens about 50% of the time when clicking on a camera that has audio enabled. If I leave audio disabled, no problem.

If I enable audio after I click on the camera, it works fine, so it seems to be an issue when UI3 switches the camera to full window view and initializes the audio feed at the same time.

There's no error logged in the Windows Event Viewer other than the service stopping.

I'm going to poke round a bit more and see if I can isolate this further.
 
  • Like
Reactions: beepsilver
Hi all,

I've read through the thread and I've been able to access the sub stream for 3 out of 5 cameras. I'm not having any luck with my 2 Dahuas. Can anyone help?

I changed the "0" to a "1" on the stream type and when I go to the camera properties, it shows that it's getting a sub stream, but the resolution is the same as the main stream. See pictures.

cam2set.JPG
cam2sub.JPG


Sub stream is enabled on the camera itself as shown below
cam2set2.JPG

Is there another trick with the Dahua that I'm missing? I was able to set it up without issues on my other cameras. Any help or input is appreciated.

Thanks!
 
Delete one of the cameras and re-create it from "scratch". I had a similar problem and that cured it, but as with everything YMMV.
 
I have one that I cannot find any combination to make the substream turn on. Anything I type into Substream area and all it does is moves the mainstream to the substream.

1593983902468.png
 
Delete one of the cameras and re-create it from "scratch". I had a similar problem and that cured it, but as with everything YMMV.

Thank you!!! I didn't delete it, but I added the same camera again from scratch and this time Blue Iris saw it as a Generic/ONVIF. Before it had recognized it as a Dahua.

I then just changed the settings from Dahua to generic and used the new path so I didn't have to tweak all of the other settings. This time the sub stream works as intended. Went from 45% down to 8%!

Previous setup
camnew1.JPG

NEW setup for the same exact camera:

camnew2.JPG

Previous stream info:

cam2sub.JPG

NEW stream info:

camnew3.JPG
 
Thank you!!! I didn't delete it, but I added the same camera again from scratch and this time Blue Iris saw it as a Generic/ONVIF. Before it had recognized it as a Dahua.

I then just changed the settings from Dahua to generic and used the new path so I didn't have to tweak all of the other settings. This time the sub stream works as intended. Went from 45% down to 8%!

Previous setup
View attachment 65670

NEW setup for the same exact camera:

View attachment 65671

Previous stream info:

View attachment 65672

NEW stream info:

View attachment 65673
All that was wrong is you were missing the HTTP URL in front of the query. Go back to how it was (Dahua RTSP preset, which was the correct way to do it), copy the text from Main stream, add a '?', and then add the text copied from Params. When you're done, the substream box should read "/cam/realmonitor?channel={CAMNO}&subtype=1&authbasic={AUTH64}".

Unfortunately, it's a bit confusing how the main stream and sub stream boxes are different, the first one being split between URL and parameters, and the second one being the entire combined URL. I personally think Ken should join the first two boxes together as that would better reflect how the URL is formed. As a developer myself, backwards compatibility for settings could be maintained by storing the completed main stream URL in a differently named registry value. In its absence, the legacy split values could be read, joined, written combined to the new location, and the old data deleted.
 
Last edited:
All that was wrong is you were missing the HTTP URL in front of the query. Go back to how it was (Dahua RTSP preset, which was the correct way to do it), copy the text from Main stream, add a '?', and then add the text copied from Params. When you're done, the substream box should read "/cam/realmonitor?channel={CAMNO}&subtype=1&authbasic={AUTH64}".
It makes no difference
 
It makes no difference
Helping demystify the issue makes all the difference in the world. Once one understands, they can no longer be confused. The Dahua preset more accurately reflects the type of camera being accessed (useful information if you've got different brands of cameras in the same system), and it is simpler (which is good and could reduce the chance of a future firmware update causing incompatibility). Additionally, he accidentally stumbled onto the solution, whereas what I presented above is what will be needed with any camera (due to the UI inconsistency in Blue Iris) and could help future users who may try the "generic" thing and it still not work for them.
 
Helping demystify the issue makes all the difference in the world. Once one understands, they can no longer be confused. The Dahua preset more accurately reflects the type of camera being accessed (useful information if you've got different brands of cameras in the same system), and it is simpler (which is good and could reduce the chance of a future firmware update causing incompatibility). Additionally, he accidentally stumbled onto the solution, whereas what I presented above is what will be needed with any camera (due to the UI inconsistency in Blue Iris) and could help future users who may try the "generic" thing and it still not work for them.
Okay but the default string (aka the Universal Good Dahua String) the find/inspect pulls out will work 120% of the time
 
  • Haha
Reactions: shalem2014
All that was wrong is you were missing the HTTP URL in front of the query. Go back to how it was (Dahua RTSP preset, which was the correct way to do it), copy the text from Main stream, add a '?', and then add the text copied from Params. When you're done, the substream box should read "/cam/realmonitor?channel={CAMNO}&subtype=1&authbasic={AUTH64}".

Unfortunately, it's a bit confusing how the main stream and sub stream boxes are different, the first one being split between URL and parameters, and the second one being the entire combined URL. I personally think Ken should join the first two boxes together as that would better reflect how the URL is formed. As a developer myself, backwards compatibility for settings could be maintained by storing the completed main stream URL in a differently named registry value. In its absence, the legacy split values could be read, joined, written combined to the new location, and the old data deleted.
Thanks for the reply. I will definitely give it a try tomorrow. I really appreciate you taking the time.

Sent from my moto z3 using Tapatalk
 
I can get BI to trigger from the camera's own analytics on Bosch and Dahua cameras. I haven't gotten my Hikvisions to cooperate yet.

This thread is specifically about the new substream features so you will want to set up a new thread for your Home Assistant topic.

I got my Hikvisions (ColorVu) to cooperate with blue iris triggering off the camera motion detection (and working with substreams) by using this:-

1594242253891.png
 
  • Like
Reactions: mech and shalem2014
I've tried the latest versions of BI with the substream and still no alerts are store when the camera triggers. Has anyone found a way to make this work for Dahua?
1594675635247.png
or
1594675828823.png
 

Attachments

  • 1594675756348.png
    1594675756348.png
    69.9 KB · Views: 10
I had problems getting triggers using substreams. My solution is, basically, two steps. Use the second substream, substream2, and set it at 1080P. Reconfigure the motion detection in BI in the substream camera. Problem solved. It does use a little more CPU since substream1 runs at a max of 720P but the detection dependability is worth that little trade off. I also match frame and iframe rates to the main stream to help simplify things as well.
 
Last edited:
Yeah, if you use substream, you need to go back in and configure your zones to the substream feed.
 
  • Like
Reactions: kklee
Thanks for the ideas and tips. I prefer the alerts in the cameras to those in BI because I have already used the camera alerts for home automation functions. I’ll keep asking about it from time to time and hopefully the developer will have a look.
 
So - I removed the BI install, deleted the BI directory and restarted Win. Downloaded a new install file and added the cameras from scratch and it looks like it is all working now. If anyone else is using Dahua this works for me.
1594850592203.png
 
  • Like
Reactions: beepsilver
So - I removed the BI install, deleted the BI directory and restarted Win. Downloaded a new install file and added the cameras from scratch and it looks like it is all working now. If anyone else is using Dahua this works for me.
View attachment 66437
Try “&unicast=true” instead of “,unicast=true” I.e. Replace the comma with an &