frigate: [Config Support]: go2rtc example doesn't work for me

Describe the problem you are having

If I follow the beta 4 instructions here, go2rtc crashes with an exit code 1. This was “fixed” in beta 3 by setting

restream:
  force_audio: false

so I took a look at the beta 3 code and made the changes you can see below. Just curious a) why using ffmpeg: doesn’t work, and b) if maybe this should be in the docs.

My camera streams appear to be h264 video and a-law. Don’t really care about the audio so this config works for me.

side note: what does input_args: preset-rtsp-restream actually do? I see no difference if i exclude it.

Version

0.12 beta 4

Frigate config file

# not working:

go2rtc:
  streams:
    driveway:       ffmpeg:rtsp://192.168.2.206:80/ch0_0.264#video=copy#audio=aac#audio=opus
    driveway_sub:   ffmpeg:rtsp://192.168.2.206:80/ch0_1.264#video=copy#audio=aac#audio=opus

cameras:
  driveway:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/driveway?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/driveway_sub?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - detect

# working:

go2rtc:
  streams:
    driveway:       rtsp://192.168.2.206:80/ch0_0.264
    driveway_sub:   rtsp://192.168.2.206:80/ch0_1.264

cameras:
  driveway:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/driveway
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/driveway_sub
          input_args: preset-rtsp-restream
          roles:
            - detect

# working:

go2rtc:
  streams:
    driveway:       rtsp://192.168.2.206:80/ch0_0.264
    driveway_sub:   rtsp://192.168.2.206:80/ch0_1.264

cameras:
  driveway:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/driveway
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/driveway_sub
          input_args: preset-rtsp-restream
          roles:
            - detect

Relevant log output

2023-01-17 15:52:33.880280311  15:52:33.880 INF go2rtc version 0.1-rc.9 linux/arm64
2023-01-17 15:52:33.881737818  15:52:33.881 INF [api] listen addr=:1984
2023-01-17 15:52:33.882309832  15:52:33.882 INF [rtsp] listen addr=:8554
2023-01-17 15:52:33.883972912  15:52:33.883 INF [webrtc] listen addr=:8555
2023-01-17 15:52:33.884571815  15:52:33.884 INF [srtp] listen addr=:8443
2023-01-17 15:52:42.540168944  15:52:42.539 ERR github.com/AlexxIT/go2rtc/cmd/streams/producer.go:52 > error="exec: exit status 1" url=ffmpeg:rtsp://192.168.2.206:80/ch0_0.264#video=copy#audio=aac#audio=opus
2023-01-17 15:52:42.652206719  15:52:42.651 ERR github.com/AlexxIT/go2rtc/cmd/streams/producer.go:52 > error="exec: exit status 1" url=ffmpeg:rtsp://192.168.2.206:80/ch0_1.264#video=copy#audio=aac#audio=opus
2023-01-17 15:52:43.000135656  15:52:42.998 ERR github.com/AlexxIT/go2rtc/cmd/streams/producer.go:52 > error="exec: exit status 1" url=ffmpeg:rtsp://192.168.2.206:80/ch0_0.264#video=copy#audio=aac#audio=opus
2023-01-17 15:52:43.000149063  15:52:42.999 WRN [rtsp] error="source 0 error: exec: exit status 1" stream=driveway
2023-01-17 15:52:43.080599825  15:52:43.079 ERR github.com/AlexxIT/go2rtc/cmd/streams/producer.go:52 > error="exec: exit status 1" url=ffmpeg:rtsp://192.168.2.206:80/ch0_1.264#video=copy#audio=aac#audio=opus
2023-01-17 15:52:43.080620806  15:52:43.079 WRN [rtsp] error="source 0 error: exec: exit status 1" stream=driveway_sub

Frigate stats

No response

Operating system

HassOS

Install method

HassOS Addon

Coral version

USB

Any other information that may be helpful

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 29

Most upvoted comments

I think I know what the problem is. For arm64 we are using ffmpeg4 and for amd64 we are using ffmpeg5, ffmpeg4 has the stimeout argument, but go2rtc assumes ffmpeg5 and uses the timeout arg meanwhile that arg is not supported on arm platforms so this error happens.

@jherby2k can you please add

ffmpeg:
  rtsp: "-fflags nobuffer -flags low_delay -stimeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i {input}"

to the go2rtc config and confirm that this now works?

Great thanks, we can definitely fix this on our side so please close the go2rtc issue saying it’s a Frigate issue