FAQ - Integrating Blue Iris CCTV Web Server with ST and webCoRE

blueiris
bi
camera

#1

Re-posted from the ST Forum

Blue Iris (BI) is an excellent CCTV software package which you can use with almost any IP camera. it runs on most (half decent) PC’s and provides:

  • Local recording (Constant or in response to motion + a set time prior and after motion
  • Advanced motion detection - zones within the view / size of object / speed of object / direction of travel etc.
  • Profiles - So motion zones / recording rules can be tweaked for different scenarios
  • Most importantly for ST - A built in web-server which can broadcast MPEG streams and send / respond to web requests!

This FAQ wont go into the details of setting up BI itself but I’d be glad to field any questions should you hit any walls. BI is free to try for a single camera but you need to buy a multi-camera licence if you need more.

I used to use the ‘Blue Iris Fusion’ smartapp by @JMZ for basic stuff like syncing BI profiles to ST modes and for triggering certain cameras to start recording, but it’s limited to a finite list of triggers and BI profiles can only be changed with ST modes… it’s still a great app though and worth a look for basic setups:

With ST and webCORE you can:

  • Send profile change commands to BI :white_check_mark:
  • Send triggers to BI :white_check_mark:
  • Receive motion triggers from BI :white_check_mark:
  • Send pan and tilt commands to BI :white_check_mark:
  • View Live streams in the ST app, BI app, ActionTiles and Chrome Extension :white_check_mark:
  • Secret (and massively awesome) feature that I cant discuss yet (still in development) :innocent:

Changing Blue Iris Profile (mode) from WebCoRE

webCoRE has the ability to send HTTP GET requests to external servers and BI has the ability to recieve and act upon these requests.

The following URL structure triggers a profile change in BI:

{BI_Server_LAN_IP}:{PORT}/admin?profile={DESIRED_PROFILE_NUMBER}&user={USERNAME}&pw={PASSWORD}

WebCoRE can also utilize the authentication header (Method details further down this post) so you can shorten the URL to:
{BI_Server_LAN_IP}:{PORT}/admin?profile={DESIRED_PROFILE_NUMBER}

Example webCoRE Piston (importable):

Trigger a certain camera to start recording from WebCoRE:

Send web request:
{BI_Server_LAN_IP}:{PORT}/admin?camera={CAM_SHORT_NAME}&trigger&user={USERNAME}pw={PASSWORD}

Or with authentication header:
{BI_Server_LAN_IP}:{PORT}/admin?camera={CAM_SHORT_NAME}&trigger

Example WebCoRE Piston:

Moving a PTZ camera to a preset position

Thank you to @jrfarrar for identifying this one!

http://{BI_Server_LAN_IP}:{PORT}/cam/{CAM_SHORT_NAME}/preset={Desired_Preset_Number}

Other commands that can be sent to BI:

There are also some other URL paths for pan tilt etc in the manual, pages 77-78:

http://www.warf.com/download/5982_1816_Blue-Iris-Chm-Help-File-03-30-2013.v3.pdf

Using Authentication Headers:

Instead of typing your credentials into the URL, you can extract the authentication header from your browser and paste that into the corresponding field in the webCoRE get request box.

  • Load the URL in the browser (without the credentials section as detailed above) and enter your user/pass
  • Open the browser’s console (press F12) and go to the Network tab, then refresh the page
  • Select the request and look for the Request headers section, find the Authentication field - copy the value in there and paste it as a value into the new Authentication header field of the Make web request task.

Most of the time you’ll see Authorization as “Basic blahblahblahMIMEencodedblahblahblah”

BI Motion used to trigger a webCoRE Piston:

  • Create a piston with no triggers and save
  • Whilst viewing the Piston summary page, copy the piston ID from the URL, it’s the long string at the end of the URL encased in colons ( : )
  • Go to webCoRE’s main settings page and copy the ‘webCoRE Execute Endpoint’ URL
  • Add the piston ID to the end of the end of the endpoint URL
  • Go to BI, Right Click on a camera and select camera properties
  • Choose the profile you want to work on
  • Go to the alerts tab

  • Tick ‘Request from a web service’ and click ‘configure’

  • Paste the endpoint URL into the ‘when triggered’ field, less the HTTPS which goes in the drop-down.

Now when that camera gets triggered (based on your motion, zoning, motion size, motion speed settings in the camera ‘trigger’ tab) , the associated piston will be fired. You can also use ‘when trigger ends’ option to fire a piston at that point as well

Viewing the Live Streams in the ST mobile app:

To view in ST, use the ‘Generic Video Camera Connect’ smartapp and child device handlers by @pstuart:

For some reason I’ve always used a different format for the authentication part of the stream URL entered into the parent SmartApp… but it works:

http://{USERNAME}:{PASSWORD}@{BI_SERVER_WAN_IP}:{PORT}/mjpg/{CAM_SHORT_NAME}

The above URL also works with LAN IP but only when you’re mobile device is at home.

Viewing the Live Streams in the BI Mobile App:

Blue Iris has a great mobile app, I’m on iOS, not sure if they have an app for Android?


Viewing the Live Streams in a ActionTiles:

http://{USERNAME}:{PASSWORD}@{BI_SERVER_LAN_IP}:{PORT}/mjpg/{CAM_SHORT_NAME}

If your’e using ActionTiles you probably have a tablet mounted on your wall, and that tablet will have a camera :wink:

I use an android app running in the background called ‘IP Webcam’ which stream live video from the tablet camera to BI.

Viewing the Live Streams in a Chrome extension:

MyIPCam

I just use the direct camera IP streams for this… I once had it showing BI streams but can’t remember the settings lol. Extension is fairly straightforward though so I’m sure you’ll figure it out if required.

To summarize… Get Blue iris, its awesome (and about to get even better :wink:)


Assistance with "Make web request" action
Cannot use Blue Iris to change mode
Make web request
Local web request