Home Assistant Community

Stream Component: Confirmed Cameras and Configurations

#1

General

Below is a list of confirmed cameras and configurations that work with the new Home Assistant Stream component. Please comment below with your configuration if you have had success and it does not already appear in this list.

Finding your camera’s streams

If your camera is not in the list below, you might be able to find the endpoints you need in the iSpy Camera Database for your make and model. The camera will need both a type of JPEG and either VLC or FFMPEG in the list. Clicking on the model will give you a dialog to create the urls. Type JPEG goes into still_image_url, VLC or FFMPEG goes into stream_source.

Confirmed Configurations

BlueIris

Keep in mind the IP address is that of your BlueIris installation and not the camera itself.

- platform: generic
  still_image_url: "http://192.168.1.x/image/cameraname"
  stream_source: "http://192.168.1.x/h264/cameraname/temp.m3u8"

HikVision

- platform: generic
  still_image_url: "http://user:[email protected]/ISAPI/Streaming/channels/101/picture"
  stream_source: "rtsp://user:[email protected]:554"

Amcrest

Standard RTSP port:

amcrest:
 - host: 192.168.1.x
   username: user
   password: password
   stream_source: rtsp

or non-standard port

- platform: generic
  still_image_url: "http://user:[email protected]/cgi-bin/snapshot.cgi"
  stream_source: "rtsp://user:[email protected]:(port)/cam/realmonitor?channel=1&subtype=1"

Axis

Available via the built-in integration starting in 0.92.

Foscam

Available via the built-in integration.

Doorbird

Available via the built-in integration starting in 0.92.

Dahua

Depending on your camera configuration, you may also need to set authentication: basic and/or verify_ssl: false.

- platform: generic
  still_image_url: "http://192.168.1.x/cgi-bin/snapshot.cgi"
  stream_source: "rtsp://username:[email protected]:554/cam/realmonitor?channel=1&subtype=00"
  username: username
  password: !secret dahuapass

ReoLink

You must be on 0.90.1 for this configuration to work.

High Quality

- platform: generic
  still_image_url: "http://192.168.1.x/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=user&password=password"
  stream_source: "rtsp://user:[email protected]:554/h264Preview_01_main"

Low Quality

- platform: generic
  still_image_url: "http://192.168.1.x/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=user&password=password"
  stream_source: "rtsp://user:[email protected]:554/h264Preview_01_sub"

UniFi NVR (UniFi Video Controller)

Instructions:

  • (If you haven’t already) Turn on RTSP by going to settings (gear icon at the bottom right) scrolling down to streaming ports, and turn on RTSP.
  • Go back to the cameras view, select a camera, and scroll down to “RTSP Service”. Click on it and copy the link for the quality feed you want. That link will be your stream_source
  • Create an API user (if you haven’t already), by going to the users tab in the right menu.
    • Click “Add user”, fill out all the info.
    • Create a new group giving it view video and recording permissions.
    • Select API Access and turn on “Allow API Usage”.
    • Select the user you just created, click on API Usage, and copy the API key

The still_image url will be constructed as follows:
http://<your nvr's IP>:7080/api/2.0/snapshot/camera/<the ID after the slash from the RTSP url, up to the _>?force=true&apiKey=<api key you just copied>

- platform: generic
  still_image_url: "http://10.0.10.6:7080/api/2.0/snapshot/camera/5c35744ae4b00e065c24865d?force=true&apiKey=yourkeyhere"
  stream_source: "rtsp://10.0.10.6:7447/5c35744ae4b00e065c24865d_1"

UniFi Protect

  • Enable RTSP by selecting a Camera / Manage / Toggle on RTSP
  • Copy the RTSP URL

Example :
rtsp://192.168.X.X:7447/AbCdeFGhiJK

  • Log into the camera (via camera IP address)and turn on Enable Anonymous Snapshot*. Checkbox at bottom of config page. Click Save Changes when done.
    https://192.168.X.X/camera/config
  • Default Camera username is: ubnt
  • Password for the camera can be found under the Protect NVR under Settings (Gear icon) / Device Password / Edit

With that information you can now configure it as a generic camera:

  - platform: generic
    name: Front Porch
    still_image_url: https://192.168.X.X/snap.jpeg
    stream_source: rtsp://192.168.X.X:7447/AbCdeFGhiJK
    verify_ssl: false

Once I figure out how to pass username and password credentials I will update to remove Anonymous Snapshots

Synology

For Synology cameras, obtain the stream path using these instructions and use the RTSP stream URL for stream_source in generic camera.

Dafang

- platform: generic
  name: Camera
  still_image_url: https://192.168.x.y/cgi-bin/currentpic.cgi
  stream_source: rtsp://192.168.x.y:8554/unicast
  verify_ssl: false
  username: root
  password:  ********
  authentication: basic

ESCAM G02

- platform: generic
  still_image_url: "http://CAMERA_IP/snap.jpg?usr=USERNAME&pwd=PASSWORD"
  stream_source: "rtsp://USERNAME:[email protected]_IP:554/01"
  name: "ESCAM G02 Stream #1"
24 Likes

0.90.0: Streaming camera in lovelace?
Stream component : unable to display rtsp stream
Stream component : unable to display rtsp stream
0.90.0: Streaming camera in lovelace?
Google Cast BlueIris Cameras with Home Assistant!
Generic camera password issues (camera or code?)
#2

Amcrest

- platform: generic
   still_image_url: http://user:[email protected]/cgi-bin/snapshot.cgi
   stream_source: rtsp://user:[email protected]:554/cam/realmonitor?channel=1&subtype=1

and

amcrest:
 - host: 192.168.1.x
   username: user
   password: password
   stream_source: rtsp

Once 0.90.1 is out the following ReoLink configuration will work:

  - platform: generic
    stream_source: rtsp://user:[email protected]:554/h264Preview_01_main
    still_image_url: http://192.168.1.x/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=user&password=password
0 Likes

Stream component : unable to display rtsp stream
#3

If you utilize BlueIris you can re-stream in HLS through the following configs keeping in mind the IP address is that of your BlueIris installation not the camera itself:

- platform: generic
  still_image_url: "http://192.168.1.x/image/cameraname"
  stream_source: "http://192.168.1.x/h264/cameraname/temp.m3u8"
4 Likes

Stream component and RasPi camera
#4

Super helpful - thank you!

0 Likes

#5

What about Synology platform?

0 Likes

#6

I am seeing an issue with Wyze Camera using Dafang FW.

The RTSP Stream plays fine, but still Image URL is not working (most likley because of the way it is done).

Here is the URL
http://192.168.0.31/cgi-bin/currentpic.cgi

Likely related to the method the image is getting generated.

0 Likes

#7

For Synology cameras, obtain the stream path using these instructions and use the RTSP stream URL as generic camera.

0 Likes

#8

I can’t get the blue iris link to work. Where is temp.m3u8 set? I’m guessing it should be under is Video, Configure, Video, Path which is set to /cam/realmonitor but that doesn’t work either.

0 Likes

#9

Just to help others - I am trying to get both the still image and the stream working for Dahua camera.
I found that adding authentication = digest fixed my still image.

I’m not sure where this is set on the camera, so if someone can tell the community where to check for digest vs basic it would be useful knowledge.

0 Likes

#10

Just replace the IP with your blue server IP and port if you used a different webserver port then use the rest of the provided URL. I tested this myself and it worked. You may also need to provide username and password depending upon your settings. I personally allowed blue iris to not request auth locally.

Edit: also important to use the camera short name you set in blue iris as well

0 Likes

#11

I tried that to no avail. I was using http://192.168.1.7:8020/mjpg/driveway (the actual settings are for h264) which still works. Is that path name just a misnomer?

0 Likes

#12

yea mjpg in the URL will not work here, use the template from above

0 Likes

#13

Have you tried http://192.168.1.7:8020/h264/driveway/temp.m3u8 ?

0 Likes

#14

Sorry guys, brain fart on the port. Works now, but I’m only getting about one frame every 10 seconds.

0 Likes

#15

what system do you have HA on? a raspberry pi? I think the stream quality will depend on the system its running from. If you can try to lower the stream quality and see if that helps too.

0 Likes

#16

Pi3. CPU is at 4-5%. Is the GPU doing the lifting here?

0 Likes

#17

Hello everyone,

Maybe i have misunderstood the intend for the stream component, but im trying to display the rtsp feed in the frontend using the stream: and a generic camera configuration. My question is - is this possible ?
Below is what i get and its stuck on it:
image

Thanks

0 Likes

#18

look in your logs for errors

0 Likes

#19

I just saw that error:

blob:https://something.domain.com/00c…:1:2380 Uncaught ReferenceError: s is not defined

Any thoughts on this ?

0 Likes

#20

Unifi cam with Unifi NVR (pducharme/unifi-video-controller:3.10.1):

- platform: generic
  still_image_url: http://10.0.10.6:7080/api/2.0/snapshot/camera/5c35744ae4b00e065c24865d?force=true&apiKey=yourkeyhere
  stream_source: rtsp://10.0.10.6:7447/5c35744ae4b00e065c24865d_1

Instructions:

  • (If you haven’t already) Turn on RTSP by going to settings (gear icon at the bottom right) scrolling down to streaming ports, and turn on RTSP.
  • Go back to the cameras view, select a camera, and scroll down to “RTSP Service”. Click on it and copy the link for the quality feed you want. That link will be your stream_source
  • Create an API user (if you haven’t already), by going to the users tab in the right menu.
    • Click “Add user”, fill out all the info.
    • Create a new group giving it view video and recording permissions.
    • Select API Access and turn on “Allow API Usage”.
    • Select the user you just created, click on API Usage, and copy the API key

The still_image url will be constructed as follows:
http://<your nvr's IP>:7080/api/2.0/snapshot/camera/<the ID after the slash from the RTSP url, up to the _>?force=true&apiKey=<api key you just copied>

See the example at the top of this post for how it should look when you’re all done.

2 Likes