AlexxIT / go2rtc

Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
https://github.com/AlexxIT/Blog
MIT License
6.63k stars 478 forks source link

Logitech HomeKit cameras broken from 1.9.3 #1180

Open artinbastani opened 5 months ago

artinbastani commented 5 months ago

I have a logitech circle 2 camera connected to home assistant as a HomeKit device.

Until 1.9.2 I was add my camera in go2rtc as a "hass:" device. And it worked perfectly

In 1.9.3 this no longer works. It never streams.

When i restored from my prior backup I was able to get this functionality back.

petrij98 commented 5 months ago

It sounds like I've got a very similar issue. However, I don't believe it's for every camera model. I have 3 different Homekit cameras with 2 working and 1 that's not. Not sure what's causing the issue; I was gonna dig through my logs and see what I could come up with. I didn't manage to make a backup of my 1.9.2 instance, so I feel like I'm stuck until a patch is out or my good ol' docker server's about to take on another app full-time.

rouxdoo commented 5 months ago

I just started to transition my homekit cams into HASS and my Circle View isn't streaming in go2rtc. [hls] can't get init id=xFH7V6LR is the only log error.

AlexxIT commented 5 months ago

I don't know. Maybe this is related to increased default bitrate for HomeKit source. And your camera can't provide it. You can change bitrate manually, but it works only for homekit source, not work for hass source. You can find your homekit related source in the WebUI > Add > Home Assistant. Try: homekit:...#bitrate=299K

https://github.com/AlexxIT/go2rtc/issues/851

rouxdoo commented 5 months ago

I did what you suggested and that fixed it so thank you! That also fixed another problem I was having - I was trying to use hass source for my cameras and simply could not export (pair) to Apple home. Using homekit source made pairing work so you might want to update the documentation in the homekit module section to spell out that passing through homekit camera as homekit source requires using homekit source in the feed config rather than the hass URL. Thanks again!

AlexxIT commented 5 months ago

I need to know what maximum bitrate works for you. New default 4096K. Try to find best working maximum.

rouxdoo commented 5 months ago

I have a logi circle view cam, a logi circle view doorbell and an Eve Outdoor Cam. The Logitechs bomb out above 1024 (and shows the no-play icon for a few seconds before streaming) but work at that. The Eve seems fine with #bitrate=4096K. I'll be happy to try other values if you want.

petrij98 commented 5 months ago

This resolved my issue. Thanks @AlexxIT! If you can, I would try to add that as a footnote somewhere in the documentation. It seems like this issue only affects specific homekit cameras, but not all.

AlexxIT commented 4 months ago

I think best solution will be to check camera brand from HomeKit protocol. And autoset supported bitrate value. But I need someone familiar with the go language to log this response from the camera. Because right now the protocol is not logged in any way.

This var should be logged https://github.com/AlexxIT/go2rtc/blob/a4885c2c3abce58074d04878bba0d72105642a9b/pkg/homekit/producer.go#L80

dipseth commented 4 months ago

Edit: Seems like it was user-error. Works correctly after using #bitrate=1024K , rather than #bitrate=1024k with.

I am having the same issue even after adjusting the bitrate parameter. In 1.9.4 I see the camera load briefly in the network map with 0B sent to to homekit, before it disconnecting.:

image