ring-mqtt: Bug: Intermittent stream playback with HA and go2rtc

_ring-mqtt_logs.txt.zip

Describe the Bug

One of my 4 Ring cameras will let me view the live stream with the HA / go2rtc / RTSPtoWebRTC combo, the rest won’t. Ring-mqtt works perfectly without go2rtc / RTSPtoWebRTC. If I open the go2rtc web UI and click on Links, all of the MSE streams playback fine, but most of the time the WebRTC ones won’t, which is what I think HA is trying to use. In the Ring app none of my cameras have the the option to enable “Legacy Video” as mentioned in your FAQ, I think they’re all too old for H265. The one camera that seems to work most of the time (at least for Live) is the newest one I have, a Floodlight Cam Wired Plus… it’s newer because it was a warranty replacement for the original Floodlight Cam.

Steps to Reproduce

This combo has worked solid for months, only recently started having issues.

Expected Behavior

Streams consistently play back. (live and event)

Log Output

Attached .zip at top

Screenshots

Go2RTC log

Config File

{
    "mqtt_url": "mqtt://192.168.1.200:1883",
    "mqtt_options": "",
    "livestream_user": "",
    "livestream_pass": "",
    "disarm_code": "",
    "enable_cameras": true,
    "enable_modes": true,
    "enable_panic": false,
    "hass_topic": "homeassistant/status",
    "ring_topic": "ring",
    "location_ids": [
        ""
    ]
}

go2rtc.yaml:
------------
log:
  level: debug
api:
  listen: ''
srtp:
  listen: ''
rtsp:
  listen: ':8554'
  default_query: video=h264&audio=aac&audio=opus
webrtc:
  listen: ''
streams:
  e04f43a453ea_live: exec:/app/ring-mqtt-latest/scripts/start-stream.sh e04f43a453ea live ring/dr4yes-fjo6-0/camera/e04f43a453ea {output}
  e04f43a453ea_event: exec:/app/ring-mqtt-latest/scripts/start-stream.sh e04f43a453ea event ring/dr4yes-fjo6-0/camera/e04f43a453ea {output}
  44ead8fd33c0_live: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 44ead8fd33c0 live ring/dr4yes-fjo6-0/camera/44ead8fd33c0 {output}
  44ead8fd33c0_event: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 44ead8fd33c0 event ring/dr4yes-fjo6-0/camera/44ead8fd33c0 {output}
  9c7613b476f6_live: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 9c7613b476f6 live ring/dr4yes-fjo6-0/camera/9c7613b476f6 {output}
  9c7613b476f6_event: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 9c7613b476f6 event ring/dr4yes-fjo6-0/camera/9c7613b476f6 {output}
  44ead8254f04_live: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 44ead8254f04 live ring/dr4yes-fjo6-0/camera/44ead8254f04 {output}
  44ead8254f04_event: exec:/app/ring-mqtt-latest/scripts/start-stream.sh 44ead8254f04 event ring/dr4yes-fjo6-0/camera/44ead8254f04 {output}

Install Type

Unraid Docker

Version

v5.4.0

Operating System

Unraid

Architecture

x86_64

Machine Details

12th Gen Intel® Core™ i7-12700 @ 2079 MHz

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 33 (13 by maintainers)

Most upvoted comments

Unfortunately, a line-by-line comparison between your non-working session, and my working session, is basically identical. Only differences being the things you would expect to be different (signatures, dynamic ports, IP addresses of peers).

It is clear that go2rtc is indeed responding with the actual stream profile because it starts the stream first and then responds (you can see the delay), so it’s clear that your one camera is indeed negotiating a H.264 Main profile instead of High, but I don’t really understand why as the same camera negotiated high profile for me when you shared it.

Unfortunately, I’ve run out of ideas, and since the problem seems isolated to go2rtc, and not ring-mqtt itself, as RTSPtoWeb works, as does go2rtc on another server, etc., I’m going to have to ask that you open an issue on the go2rtc project and see if the maintainer there can provide any possible clues based on your traces. If you link the case here I can also follow and participate.