Blue Iris URLs for external streams

Funny story about directory listing, it used to not honor several different kinds of user permission restriction, so anyone with a BI user account no matter how limited could use it to list and download all your clips. That was years ago, maybe even in BI 3.x.
 
  • Like
Reactions: fenderman
I saw a posting about that.....I wonder if the simple fix at the time was to break it...and it's never been fixed since? Though I suspect that if you have the direct URL to the video clip, anyone can still access the files.
 
I don't remember how it was fixed, and it certainly may have broken again, but I don't think breaking the entire directory listing feature was "the fix" :). I know you can still download a clip with audio in it even from an account that has audio access disabled.
 
  • Like
Reactions: fenderman
Reviving an old thread ... have folks figured out how to stream to a tile (I use Sharptools) via BI and not have each stream consume 10-15% CPU? I was using TinyCamPro with an android box that just bit the dust so was going to look into streaming from BI.
 
Reviving an old thread ... have folks figured out how to stream to a tile (I use Sharptools) via BI and not have each stream consume 10-15% CPU? I was using TinyCamPro with an android box that just bit the dust so was going to look into streaming from BI.
I do not use SharpTools but I glanced at the Knowledge Base and learned that it cannot use RTSP but you can stream MJPEG to it.

In one KB section here it states: "Blue Iris is a popular NVR which runs on Windows and can convert RTSP streams to MJPEG"

More on that is found in BI's built-in "Help" file under "Administration" => "HTTP INTERFACE" => "Direct image and video requests"; It states that this HTTP URL will fetch a MJPEG stream: /mjpg/{cam-short-name}/video.mjpg

Example: http://BI-Server_IP: BI-Server_Port/mjpg/Cam12/video.mjpg or as in
You'll also need to address authentication issues with BI and you can find useful info from @erkme73 here : Embed credentials on Blue Iris Web Server URL

I believe you'll find that you will need to configure your BI server settings to require login and session keys from ALL connections but the IP of where SharpTools is being served, such as this: ^SharpTools-Server_IP ; such as ^192.168.1.68

The caret ( ^ ) tells BI that no authentication is required when a HTTP request comes from that IP.

This authentication info is also found in BI's Help, located at "Remote Access" => "OTHER ADVANCED WEB SERVER TOPICS" => "Authentication"

Good luck! :cool:
 
Last edited:
So doing it this way reduces the CPU usage considerably on the BI server?
 
So doing it this way reduces the CPU usage considerably on the BI server?
I cannot comment on that aspect but you do have limited choices as to what stream types SharpTools can use.
Perhaps you can work with the cam's webGUI to lower resolution and/or bitrate on that stream and also fine-tune BI's settings as well.
 
Playing around with url params I may have found it -- if I add "stream" to the URL it seems to be the low-res substream (which is what I want). e.g. http://ip.add.re.ss:[port]/image/CameraName?stream

Nope. Add the parameter decode=0 to get the sub stream. This is described in the update notes (in the BI5 help file) in the notes for update 5.3.3 - October 1, 2020.

The release notes were wrong and never fixed.

What you actually want, to force use of the sub stream, is decode=-1 (that is a value of negative one)

&decode=x x= 0 for automatic (default), -1 for sub-stream, 1 for main-stream
 
  • Like
Reactions: foundbobby
Nope. Add the parameter decode=0 to get the sub stream. This is described in the update notes (in the BI5 help file) in the notes for update 5.3.3 - October 1, 2020.

The release notes were wrong and never fixed.

What you actually want, to force use of the sub stream, is decode=-1 (that is a value of negative one)

&decode=x x= 0 for automatic (default), -1 for sub-stream, 1 for main-stream

Thanks, was just going to say decode=0 and decode=1 weren't working for me -- "-1" works great. Thanks for the help.

Also from the release notes mentioned:

"When using dual-streaming, JPEG images will be created from the main-stream instead of the sub-stream where possible. Rather than fully spooling up main-stream decoding, the software uses the direct-to-disc pre-trigger frames buffer to synthesize these images. This means you should specify at least enough pre-trigger time on the Record tab to span the key-frame interval for your main-stream."

This is great that key frames can be served essentially for free for anyone like me grabbing images to run through TensorFlow (I only need ~512x512, hence the substream being faster/smaller-size[250kb vs 1.1MB]/sufficient)
 
Last edited: