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
Looking to include screen shot of camera in notification
Local web request
Make web request
Cannot use Blue Iris to change mode
#4

I’d like to focus on the trigger BI camera from Webcore section. I have outdoor PIR motion sensors. I’d like to trigger a specific camera(s) to trigger an alert recording when one of my PIR motion sensors see motion. Do you have an updated Piston that will help me do this with BI v5? Thanks!


#5

I have certain cameras recording 24hrs per day. Is there any way to have a smarrthings motion sensor create an alert of one of these cameras in blue isis? If so, any guidance would be greatly appreciated.


#6

So what was the big secret project?


#7

Help please, I can’t get this to work. The url works fine from a browser but wont work from this piston. There are no errors in the ST log or the webcore logs. Can anyone tell me what might be the problem? Thank you…


#8

For some reason, that log was triggered by a TIME event… (likely a 20 sec time-out)
The log you posted does not show when TestSwitch changed to on…

Turning Logging Level to Full should reveal more information at the next event.


#9

This is the log with the switch turned on. If I’m reading it right, it looks like webcore thinks it worked, and maybe it did and I have a problem somewhere else. what are your thoughts?


#10

Usually, the symbol after the “4” is an ampersand. (&)

pic

… as in:


#11

Thank’s for the help, It turned out to be a logon problem…


#12

Yeah… I have never seen two question marks in the same URL…


#13

In the configure there is “Add the piston ID to the end of the end of the endpoint URL” do we need the colons on both ends and with the latest BI there are a few changes in the alert configuration.

Also what is the new feature "Secret (and massively awesome) feature that I cant discuss yet (still in development) "

UPDATE: ok if you go into the Webserver advance and put your smart hub in the IP addresses such as ^192.168.1.24 it will not require a login and you can use all the BI commands


#14

No, colons not required.

It was a feature to send camera snapshots via SMS… but could not be rolled out for free due to excessive load / storage on the webCoRE servers.

The intention was to create a paid version of webCoRE with VIP features like this, but never happened.


#15

Hi ,
been trying to change BI profile using Webcore and tried all sort of combination URL .
All didn’t work .
When sending it using the web browser it works so not sure what’s the problem .
maybe it’s BI 5 version ?

I tried those command (with http and without ):
192.168.1.XX:81/admin?profile=2
192.168.1.XX:81/admin?camera=XXX&profile=1 (works from bowser)
192.168.1.XX:81/admin?camera=XXX&profile=1&user=XXX&pw=XXX

on BI I unchecked “use secure session keys and login page”
and add ^192.168.1* to “limit access by IP address”

Please help ?


#16

@Robin Can you help ?


#17

I haven’t used many of these features since upgrading to Blue Iris 5 and am in the middle of a home refurbishment, so BI is currently powered down.

Once I start putting up my new cameras etc I’ll take a look and see if I’m having similar issues.

I installed my custom Fibaro Dimmer hub today :sunglasses:

Not decided if I should connect it to ST or HE yet…


#18

wwoow looks great !
ok . will wait for your update if no one else knows .
As a bad workaround I’m using schedule to switch the profiles now
Can you give me a hint how can I debug it ?


#19

I’ve found in the past that logging into the BI browser control panel helps, once logged in there it seems to allow ST to also access as well, as via the same IP.

Also double check your port forwarding via the BI setup wizard.


#20

Will tray that

BI browser control panel
What do you mean ? I"m able to connect to BI from the browser .

port forwarding via the BI setup wizard.
I have port forwarding but for when I’m accessing my server from external (using VPN)
the ST hub is on the same network as the BI server