[RELEASE] Generic Video Camera DeviceType, Yes, Live Video Streaming

From AMAZON:

The app Eye4 eye cloud fit for android phone/ios phone/ipad/windows pc.Not fit for windows phone.
Any questions you can contact the service Carol via aivant-eu@outlook.com
Ivant SELLER answered on 13 July 2017

1 Like

Hello,
I’m trying to use your DH to access a stream created by Motion (https://motion-project.github.io/) using a USB webcam and a raspberry pi 3. I can access the stream at the address http://ip:port with both Chrome and VLC from any device inside the network, but with A LOT of lag.
I tried with your device handler putting the same address in “CameraStreamPathCustom” but when I try to play from smartthings on Android it keeps “CONNECTING” but nothing else.
I tried to lower the resolution to 160X120 but still nothing. Do you have any suggestion or test I can do to understand the problem?

Thank you

Hi,

I have exactly the same.
The Camera provider (unitoptek) gave me a document.
Main streamrtsp://192.168.1.88:554/11
Minor streamrtsp://192.168.1.88:554/12

Trying to add this isn’t working. could it be i have to add somehow username & password.

Thanks
Mark

yes, you need authentication to view streams if your camera has a username and password setup.

you can put it in the beginning of the url like this rtsp://user:password@192.168.1.88:554/1 or rtsp://user=bobby&pwd=Knight@192.168.1.88:554/4

some cameras prefer base 10 auth at the end of the url request like this rtsp://192.168.1.88:554/0&auth=DxjceiDhenE

base64 auth conversion the UTF-8 choice, so in the top you would put user:password or bobby:knight

then click “encode”

result in the bottom is: Ym9iYnk6a25pZ2h0

The standard way to encode the username and password into the URL is like this:

http://username:password@address/resource

some cameras also support the use of an auth parameter on any resource, like this:

http://address/resource?auth=xyz

Parameters to HTML requests go after a question mark character after the resource name, and if there are multiple parameter=value pairs, they are separated by ampersand characters, for example:

http://address/resource?param1=value1&param2=value2&auth=xyz

Im using a generic digoo onvif camera.
The URL works in VLC but not in the Smarthings app. Like many others just won’t play the video.
I am running Android but looking around don’t think there seems to be a solution to this for some cameras.

I am missing something easy here. I’ve published the apps and used the “Generic Video Camera Connect” to add Camera w/ my streaming mjpeg url (see screenshot below). Now what do I do to view them? Are they supposed to be as devices?

Yes, after installing an instance of the smartapp with the credentials for your camera, did you look in your list of things in the mobile app?

Hello, I have numerous cameras around our property. Can anybody tell me how to extract the url from the propriety app (EZVIZ and Blink)? I have several mini360’s that are stand alone cameras that do not require a hub. There are also some mini troopers that require a big looking hub, and numerous blink cams that use their hub.

https://usm.ezvizlife.com/item/Mini-360-Plus/292.html

https://usm.ezvizlife.com/item/Mini-Trooper/296.html

If it helps somebody help me, a tag says “powered by HIKVISION”

This won’t work with Blink cams.

Edit: and probably not with any cloud-connected camera with a bridge that requires its own mobile app, like arlo for example.

does this do anything other than just relay a stream?

Pretty sure it does exactly that.

and nothing else
 ?

This is the description in the OP. Other functions weren’t added over time, AFAIK.

What else do you want lol
It does what’s advertised.
You’ll have to create your own and share it on here if your want more.
Hopefully nobody would say to you

Is that it :frowning:

4 Likes

Did you ever get this working? I have the same issue.

This needs to be added to the first post. I think it would also be helpful to post the syntax used to get the camera working

For my LaView LV-PC902F2-W rtsp://user:password@192.168.1.88:554/

I got the stream from ONVIF

1 Like

No i didn’t :frowning:
I gave up on it, I’m sure there’s probably some combination out there that works lol.
Are you using SmartThings on android by any chance?
I remember reading something suggesting it may be the way android deals with the security.

Is it possible to use this DTH to have the camera record doing an Alarm event from Smart Home Monitor? I have it working correctly and is viewable from the the ST’s app, but it’s always unavailable when an Alarm is triggered.

1 Like

Yes I got all my cameras working except for Astak Mole.

Hi,
I need help here. I am trying to add an image capture option to this generic video camera device type.
I’ve added the “Image Capture” capability, the carousel and standard tiles to take a snapshot and display it and the following take() method:

def take() {
def ip = “xxx.xxx.xxx.xxx”
def cameraPort = “80”

def hosthex = convertIPtoHex(ip).toUpperCase()
def porthex = convertPortToHex(cameraPort).toUpperCase()
device.deviceNetworkId = "$hosthex:$porthex" 
log.debug "The device id configured is: $device.deviceNetworkId"

def path = "/mypath" 
log.debug "path is: $path"

def headers = [:] 
headers.put("HOST", "$ip:$cameraPort")
log.debug "The Header is $headers"

def method = "GET"
log.debug "The method is $method"

try {
  def hubAction = new physicalgraph.device.HubAction(
  	method: method,
  	path: path,
  	headers: headers
    )
  hubAction.options = [outputMsgToS3:true]

  log.debug hubAction
  hubAction
}
catch (Exception e) {
	log.debug "Hit Exception $e on $hubAction"
}

}

and the parse method:

def parse(String description) {
log.debug “description: $description”
}

My problem is the parse method is never called.
I don’t have much xp developing device types so that may be a noob question but after days looking into the docs and this forum, I cannot figure this out.
Any help is appreciated.
Of course I tried to get this exact same request in postman and I get the expected jpeg.
Thank you