-
-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Livestream results in "no response from camera" #1567
Comments
homebridge-ring.log.txt |
Hi @MadSkilzz, Thanks for providing full logs, that is always useful. The UNKNOWN MESSAGE error is irrelevant, we currently simply log any message types we received on the control channel if we don't have a handler for that type, but we don't need that data for anything. In your case it is clear that the streams from Ring are starting just fine, you can see both video and audio data being received, but it looks like nothing is making it out to device, or back from those devices. Based on this, I'd have to guess that something is blocking UDP traffic to/from the host, probably 80% of the time, this is some VPN app running, other times it's local firewalls either on the Homebridge host or other hosts. By any chance are you running in Docker but not on the host network? Otherwise, you need to check for firewalls or VPNs running on your hosts. At a basic level, nothing complex is happening here, ring-homebridge establishes a WebRTC connection which consist of a H.264 video and an Opus audio stream from the camera. You can see that part is working as the logs show video packets arriving and ffmpeg shows audio packets being received and transcoded. For the video stream, the code basically just takes the same RTP packet that is received via WebRTC and replaces a few key parts of the RTP header and forwards it on to the UDP port the Homekit device sent as part of the streaming requests, it's not a particularly complex pipeline. For audio, Homekit has some very specific requirements for Opus audio sample rate, frame duration, and non-standard RTP header timestamps, so we have to do a bit of mangling here, the raw Opus audio from Ring is sent to a local ffmpeg process that transcodes it and creates the RTP packets, but then those are send back into the a splitter where we have to replace the timestamps to meet Apple's weird specs, however. What we see in your logs that video packets are arriving, and audio packets are arriving and being sent through the ffmpeg pipeline, which all seems to be working as expected, thus I can only assume the packets just aren't making it from Homebridge to the devices. There are some things that are a bit telling, like the "speed" reported by ffmpeg slowly going down, which makes me think there is not sufficient CPU/RAM resources or network is blocking, but it's a bit difficult to tell that just from logs. |
Streaming Issue
I run homebridge on a VM through Proxmox. FFmpeg is installed. when using the plugin, all works fine. I can add camera's, alarm system, sensor and run proper automations in both Home Assistant and Apple Homekit. In Home Assistant I can view livestreams of all the camera's without any issues, however on Apple homekit the requests result in the "no response" Looking at the wiki's, FAQ's and prior issues I'can't really detect the issue as all the pull/push requests seem to be in order. I've posted the log below, after restart of the homebridge.
edit Updated with my ring devices
I have the following Ring (camera) devices:
Also I have the "Ring Home Standard" subscription
I tried both WiFi and 5G, no difference.
Tried accessing on Homekit via:
on all the same devices I can access the livestreams through the Ring app, or Home Assistant.
Proposed Solution
When the stream starts and the session is activated I can see a red flagged message "UNKNOWN MESSAGE" after that the connection state changes to new. please find the message below.
Much appreciate any effort or direction.
Environment
Homebridge
What operating system are you on?
Linux
Relevant log output
Honesty Time
The text was updated successfully, but these errors were encountered: