Stream component : unable to display rtsp stream

Basically identical setups as one another is the odd thing. Both running on the cloudkey gen2 plus (unifi protect) but setup as generic cameras polling the snapshot jpg and the system generated rtsp url, same model cameras. Even the network setups are essentially the same, all unifi just different subnets.

What about the hardware running Home Assistant? Same install method / similar hardware specs?

Nearly identical as well, both run on docker on a QNAP NAS. Same CPU and Memory, slightly different model but pretty close. Possible something on the underlying OS maybe? I keep them configured nearly identical and I wouldn’t think it would matter much on a docker container.

I’ve definitely ruled out the cameras themselves. I just tested adding one from the secondary site into my primary site and it worked without issue. I have site to site VPNs setup between all 3 camera locations so I can access them locally.

I removed the docker container, pulled the container down again, same thing.

The only thing that is slightly off is the amount of devices and the some of the automations. The devices I do have at the secondary site, the one that doesn’t work, are all the same ones I use at the primary site.

If I’m one thing I’m methodical and constant in my configurations.

Only errors I see in the logs when I try to launch a stream:

2019-03-20 23:24:17 ERROR (stream_worker) [libav.h264] error while decoding MB 70 25, bytestream -10
2019-03-20 23:24:22 ERROR (MainThread) [frontend.js.es5.201903200] blob:https://URL/b725e87c-bd8b-43ee-9a76-8c71e05f36e4:1:2400 ReferenceError: Can't find variable: s
2019-03-20 23:24:22 ERROR (MainThread) [frontend.js.es5.201903200] blob:https://URL/b725e87c-bd8b-43ee-9a76-8c71e05f36e4:1:6354 ReferenceError: Can't find variable: s
2019-03-20 23:24:42 ERROR (stream_worker) [libav.h264] error while decoding MB 73 35, bytestream -6

I got my Dahua camera to work using this

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

Similar issue here, also with Unifi cameras (G3 Flex)

2019-03-21 00:46:22 INFO (MainThread) [homeassistant.components.stream] Started stream: rtsp://user:[email protected]:554/s0
2019-03-21 00:46:23 ERROR (stream_worker) [libav.h264] cabac decode of qscale diff failed at 70 28
2019-03-21 00:46:23 ERROR (stream_worker) [libav.h264] error while decoding MB 70 28, bytestream 148854
2019-03-21 00:46:52 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream:
2019-03-21 00:46:52 INFO (MainThread) [homeassistant.components.stream] Stopped stream: rtsp://user:[email protected]:554/s0

Stream from /api/camera_proxy_stream works fine both in the HA interface and sending it to VLC, just not when casting to a Google Home Hub.

Thanks, added your config here.

It’d be interesting to see if adding one of the working cameras from site A to the Home Assistant instance on site B still works. If so, it might be a configuration difference in the cloud key on how the streams are produced?

So, does anyone know of a LoveLace card that works nice with this?
Picture card doesn’t show anything until you click on it…

No dice, same issue with the cameras from Site A on Home Assistant B. Possible it needs a dependency that is being met by another component?

No additional dependency should be required. Sent you a PM.

Some bug fixes coming in 0.90.1 for some of you. Confirmed to fix streaming of some ReoLink cameras, and probably more:

2 Likes

Thank you! I will test that as soin as 0.90.1 is out!
This functionnality will rock :slight_smile:

I just quickly tested the changes locally with my Unifi G3 Flex (in stand alone mode by the way) and the error message changed slight:

2019-03-21 03:42:16 ERROR (stream_worker) [libav.h264] error while decoding MB 103 20, bytestream -16
2019-03-21 03:42:46 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: No dts in packet

The video is also showing green on the bottom half when viewed in Home Assistant

That’s great news, can you confirm the settings used to get the Reolinks working?
I’m currently using 2x RLC-410 and have set them up like this:

camera:
  - platform: generic
    still_image_url: http://192.168.1.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=randomlettersandnumbers&user=admin&password=secretpasswordhere
    stream_source: rtsp://admin:[email protected]:554//h264Preview_01_sub
    name: Front Garden

…but like others can only get the still image preview back so far (using a picture element lovelace card)

hi, i got a couple of wyze cams and blink xt cameras, are those compatible?

Wyze you can’t( you can but it’s not easy, and to me worth it, you need to proxy it via a android app) . Not yet. but they have said they will be adding RTSP in future releases/.

So I was able to get this to work re-streaming it from BlueIris:

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

There is another gotcha though that similar to the problem with TTS streaming to the chromecasts in that the base_url would need to be changed to an internal one in my case. I put in a github issue to mention the case asit stops streaming to Google Home Hubs (and I assume chromecasts too) in my particular config.

2 Likes

I tested the fix for ReoLink in the upcoming 0.90.1 release so the camera will not work until that is out, the configuration can be found here:

1 Like

I would like to say thanks for such a great stream component!
I have an issue for Wyze V2 with custom firmware which enabling rtsp.
RTSP works great via VLC/HA camera generic platform (at least I can see it w/o any issues), but doesn’t when I try to use camera.play_stream service (it’s connecting to the chromecast device, trying to load stream and then just stop activity, so I can’t see stream/loading).

In logs I’ve something like:

Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1162679 >= 1128842

17:17 components/stream/worker.py (ERROR)
error while decoding MB 74 6, bytestream 15439
17:16 components/stream/worker.py (ERROR)
cabac decode of qscale diff failed at 74 6
17:16 components/stream/worker.py (ERROR)
error while decoding MB 20 24, bytestream -15
17:16 components/stream/worker.py (ERROR)

RPi3B, Hassio, v0.90

This error should be fixed in 0.90.1.

2 Likes