Video Insight Camera Server


(Michael Alden) #1

I was wondering if anyone could help me out i have never used API but i found out that my camera system has an SDK

http://www.video-insight.com/software/features/SDK.php

I run this videoinsight server and it captures all the video and stores it. I would like to have a sensor lets say front door when open it would pull the live feed

I have found this but i don’t understand how to apply to hub

Live View Basics
This section describes the basic functions needed to include a Live View of a camera into you application. For more advanced functionality there is an exhaustive list of functions. This is intended to give the basics which will allow the developer to quickly understand the primary functions needed to view live video.

  1. Create a reference to the Active X control
    Video Insight
    713-621-9779 Page 6
    private AxVIClientLib.AxVIClientCtrl axVIClientCtrl1;
    This will create a reference to the AxViClientCtrl Active X with the name of axVIClientCtrl1
  2. Create an instance and assign it to your control axVIClientCtrl1 = new AxVIClientLib.AxVIClientCtrl(); axVIClientCtrl1.Dock = DockStyle.Fill; axVIClientCtrl1.Location = new System.Drawing.Point(0, 0); axVIClientCtrl1.Size = new System.Drawing.Size(splitContainer1.Panel1.Width,splitContainer1.Panel1.Height); axVIClientCtrl1.OnNewFrame += new AxVIClientLib._IVIClientCtrlEvents_OnNewFrameEventHandler(axVIClientCtrl1_OnNewFrame);
    splitContainer1.Panel1.Controls.Add(this.axVIClientCtrl1);
    Notice a new Instance is created, the size and location were configured. It was then given basic options and then assigned to the Panel named Panel1.
    The other interesting portion is the Event OnNewFrame was added. This will give the program an option to update the date string.
  3. Set Credentials and Layout axVIClientCtrl1.clear(); axVIClientCtrl1.setCredentials(“Administrator”, “123”); axVIClientCtrl1.setLayout(0);
  4. Add The Camera and Server axVIClientCtrl1.addServer(server_ip, 4010,
    4011); axVIClientCtrl1.addCamera(server_ip, camera_id, “Camera 1”,
    0, allow_ptz); axVIClientCtrl1.play();

Establish a connection to the server then add the desired camera.


(Amauri Viguera) #2

This is interesting, but I’m not sure that you’d be able to integrate it fully.

It looks like the live video is accessible via an ActiveX control on a web page, where the control would talk to the camera after it’s configured. I can’t really think of a way that you could integrate this… maybe if you set up an alarm that would push you a notification that points to the web page that has the control embedded, so that you can start viewing / capturing video or something.

The way the current ST infrastructure is set up – as far as what you can view in the app itself – is fairly limited. Maybe there’s a way to capture a single frame or a burst as some people are doing. Otherwise, displaying live video using this on the ST app? I don’t think that’s possible.


(Michael Alden) #3

Do you think there would be a way to send a notification and on the notification it has the link http:// www.noip.biz:5900/videoinsight4

And from there I would just launch the link and view the video.This link will launch a mobile view I setup on my iis server running the cameras and it uses noip for dns.


(Amauri Viguera) #4

You might be over-thinking it though… if that’s all you want to do you can use an IFTTT recipe that responds to motion from your ST motion sensor then sends you a notification that there’s motion, along with that link.

It might sound like more work, but there’s no need to reinvent the wheel with code in IDE when all you need is a simple way to notify you when there’s motion with that link


(Michael Alden) #5

Thank you i made a notification with IFTTT only thing is i can only make IF smarthings Door opens then send message with video link. but i want it to IF smarthings Door opens and IF Mode set to Away Then send Message Intruder and my video link


(Amauri Viguera) #6

Seems what you need is a slightly modified version of Brian’s “Safe Watch” which is available as a shared SmartApp.

You need to leave most of it alone and just change the pushed message to include your URL, which would then allow you to see what’s going on.


(Michael Alden) #7

Okay since the update to Smart things app I cannot seem to find user shared Apps … Could anyone point me in the right direction I feel dumb right now.


(Amauri Viguera) #8

Just create a new SmartApp and fill in whatever you want, then go to “Browse SmartApps” on the top right and select “Browse Shared SmartApps”

The “Safe Watch” app is under the Safety & Security category. After you select it just click on “Overwrite” on the bottom right and it will replace your code.

You can take it for a test drive as is, but I’d imagine you want to modify the contents of the motion event to include your URL, rather than the standard.

def triggerMotion(evt) {
  if(everyoneIsAway()) {
    send("Safe Watch: ${motion.label ?: motion.name} sensed motion!")
  }
}