From ff198857907d5d2dc5b212e11a57eb46ac21db7b Mon Sep 17 00:00:00 2001 From: Davide Figini Date: Fri, 28 Nov 2025 14:24:43 +0100 Subject: [PATCH 1/2] 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 3c64cb5c..5b1c8233 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 { From c4fb66a8182bf2950db9e3523967f77281a61961 Mon Sep 17 00:00:00 2001 From: Alex X Date: Fri, 26 Dec 2025 23:05:58 +0300 Subject: [PATCH 2/2] Code refactoring for #1992 --- internal/onvif/onvif.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/internal/onvif/onvif.go b/internal/onvif/onvif.go index 5b1c8233..8d80398a 100644 --- a/internal/onvif/onvif.go +++ b/internal/onvif/onvif.go @@ -34,9 +34,6 @@ 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 @@ -48,8 +45,8 @@ func streamOnvif(rawURL string) (core.Producer, error) { } // Append hash-based arguments to the retrieved URI - if rawQuery != "" { - uri = uri + "#" + rawQuery + if i := strings.IndexByte(rawURL, '#'); i > 0 { + uri += rawURL[i:] } log.Debug().Msgf("[onvif] new uri=%s", uri)