dgreif / ring

Unofficial packages for Ring Doorbells, Cameras, Alarm System, and Smart Lighting
MIT License
1.21k stars 163 forks source link

Ring Homebridge camera becomes non-responsive at Apple TV after ~ 5 minutes. #1384

Closed McJohnPi closed 8 months ago

McJohnPi commented 9 months ago

Streaming Issue

We have been struggling with this problem for more than a year. The Ring Homebridge combination works perfectly on iPhone, Macs and iPads, but on the Apple TV it always gives after ~ 5 minutes a non-response error after (re)starting the Apple TV , both via WiFi and Ethernet. After a restart it works perfect the first 5 minutes. We think this has something to do with the stream size (at the Apple TV the stream size is 2 times bigger than at an iPhone), so more dropouts and delays or with the ffmpeg coding?

The motion detection is always working but when there is motion, the Apple TV pops up with a grey window. And that’s it’s very annoying.

It doesn’t matter if the Apple TV is an Homekit Hub or not. (We also use an HomePod mini as HomeKit hub)

Does anyone recognize this problem?

Proposed Solution

Maybe a setting into the Homekit Ring plugin to lower the stream size?

Environment

Homebridge

What operating system are you on?

Mac

Relevant log output

When the Ring stream works at the Apple TV there is the normal Homebridge Ring log. But when we get the no response error, then there is nothing to see in the Homebridge log.

Honesty Time

tsightler commented 8 months ago

We think this has something to do with the stream size (at the Apple TV the stream size is 2 times bigger than at an iPhone), so more dropouts and delays or with the ffmpeg coding?

I don't really understand what this means. The code here does not really do anything with the video stream at all, it just forwards the RTP packets from Ring exactly as they are. The audio stream is slightly modified, either transcoded into AAC_ELD (for cameras operating in bridged mode), or repacketized into the very specific format Apple requires for Opus (cameras in non-bridged mode). None of this could explain why a stream to one device would be 2x more than to another. I'd be curious how you are measuring this.

Regardless, this sounds more like a networking issue than anything else as the video stream is simply forwarded as Ring sends it and streams from Ring are not high-bandwidth in any way.

McJohnPi commented 8 months ago

Thank you very much for taking the time to respond, it is appreciated. I am not a programmer, but I do know about networks and Apple products.

If it's not the encoding or compression of the video stream, what could it be? Both via Ethernet and WiFi, the stream on Apple TV stops after ~ five minutes. We never have those problems on a Mac, iPhone or iPad, at those devices the connection is good and stable, even at another location. It is the last generation Apple TV (third), connected with Ethernet.

After every restart of the Apple TV, the video stream works perfectly for the first few minutes, including the motion detection. But after about 5 minutes there is only a gray image.

Thanks for the support.

dgreif commented 8 months ago

@McJohnPi I'm sorry we don't have a more direct answer for you, but this really doesn't sound like something we can solve at the homebridge plugin level. Once we hand the stream to HomeKit, Apple is completely responsible for how it is transmitted/handled. If it's working properly on iPad/iPhone, then we are probably doing our job correctly. It's entirely possible that this is just a HomeKit bug, which may be fixed in a future TvOS update. I wish I could provide more specific ideas, but there is only so much we control in the overall system.

McJohnPi commented 8 months ago

Thank you very much for your extended answer and explanation. I'm afraid we have to live with this bug. Are there any other Homebridge users with a Homepod mini who use the Ring camera on the Apple TV?