From 5c4373448457073789311fcf5f986644262cf73a Mon Sep 17 00:00:00 2001 From: Davide Figini Date: Fri, 28 Nov 2025 14:24:43 +0100 Subject: [PATCH] Add rtsp params pass through from onvif sources --- internal/onvif/onvif.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/onvif/onvif.go b/internal/onvif/onvif.go index 3c64cb5ca..5b1c8233e 100644 --- a/internal/onvif/onvif.go +++ b/internal/onvif/onvif.go @@ -7,6 +7,7 @@ import ( "net/url" "os" "strconv" + "strings" "time" "github.com/AlexxIT/go2rtc/internal/api" @@ -33,6 +34,9 @@ func Init() { var log zerolog.Logger func streamOnvif(rawURL string) (core.Producer, error) { + // Split the ONVIF URL to extract hash-based arguments + rawURL, rawQuery, _ := strings.Cut(rawURL, "#") + client, err := onvif.NewClient(rawURL) if err != nil { return nil, err @@ -43,6 +47,11 @@ func streamOnvif(rawURL string) (core.Producer, error) { return nil, err } + // Append hash-based arguments to the retrieved URI + if rawQuery != "" { + uri = uri + "#" + rawQuery + } + log.Debug().Msgf("[onvif] new uri=%s", uri) if err = streams.Validate(uri); err != nil {