Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. RTSP-Kamera in VIS darstellen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    RTSP-Kamera in VIS darstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      PeZi @Samson71 last edited by

      @samson71
      Stimmt, das Kamerabild soll nicht in VIS dargestellt werden, da dies, zumindest nach meinem derzeitigen Kenntnisstand, für einen RTSP-Stream nicht möglich ist und eine vorherige Transcodierung z.B. mittels go2rtc zu großen Latenzen führt.
      Unabhängig davon steuert VIS aber die Darstellung über ein Javascript und soll soll im nächsten Schritt auch die Steuerung einer PTZ-Kamera übernehmen (in meinem Fall eine Reolink 4K 8MP PTZ PoE).
      Für die Darstellung der Visualisierung muss Chromium für meinen Anwendungsfall nicht zwingend im Kiosk-Modus laufen, falls dieser mein Vorhaben beeinträchtigt. Die Aktivierung des Vollbildmodus und die Unterdrückung der Cursoranzeige sind ja auch anders möglich.

      Ich gehe mal davon aus, dass noch mehr Nutzer von ioBroker bzw. VIS vor dem Problem stehen RTSP-Streams einfach "vis-gesteuert" darzustellen. Daher war mein Ansatz, das Thema hier mal zur Diskussion zu stellen.

      Ggf. gibt es ja dazu auch alternative Lösungsvorschläge...

      Peter

      Samson71 bahnuhr 2 Replies Last reply Reply Quote 0
      • Samson71
        Samson71 Global Moderator @PeZi last edited by

        @pezi sagte in RTSP-Kamera in VIS darstellen:

        eine vorherige Transcodierung z.B. mittels go2rtc zu großen Latenzen führt.

        Die Software kenne ich nicht, aber die Aussage kann ich grundsätzlich so nicht bestätigen und damit so stehen lassen. Einbindung in VIS z.B. über Surveillance Station einer Synology läuft problemlos. Viele nutzen auch MotionEye sehr erfolgreich. Kann natürlich auch an der mangelnden Leistung des Endgerätes für die Darstellung liegen oder an der eingesetzten Hardware zur Transkodierung des Streams. Ohne diesen Kontext ist die Aussage jedenfalls zu pauschal und schlichtweg falsch.

        @pezi sagte in RTSP-Kamera in VIS darstellen:

        Unabhängig davon steuert VIS aber die Darstellung über ein Javascript und soll soll im nächsten Schritt auch die Steuerung einer PTZ-Kamera übernehmen (in meinem Fall eine Reolink 4K 8MP PTZ PoE).

        Ob das Skript nun aus VIS heraus getriggert wird ist eine Sache, aber der Beschreibung nach "steuert" VIS hier gar nichts, sondern soll sich bei Auslösen des Triggers irgendwie per Skript verkleinern, damit die andere App mit dem Kamerastream auch Platz findet. Das war meine Feststellung als Abweichung zur gewählten Überschrift. Daher auch mein Hinweis auf den Kiosk-Modus und ggf. dort erstmal ansetzen. Sei es mit einem alternativen Browser (z.B. Kioskbrowser) oder aber auch erstmal ohne den Kiosk-Modus probieren.

        @pezi sagte in RTSP-Kamera in VIS darstellen:

        Für die Darstellung der Visualisierung muss Chromium für meinen Anwendungsfall nicht zwingend im Kiosk-Modus laufen, falls dieser mein Vorhaben beeinträchtigt. Die Aktivierung des Vollbildmodus und die Unterdrückung der Cursoranzeige sind ja auch anders möglich.

        Dann probiere doch genau das mal aus. So war zumindest mein Hinweis auf den Kiosk-Modus zu verstehen.

        @pezi sagte in RTSP-Kamera in VIS darstellen:

        Ich gehe mal davon aus, dass noch mehr Nutzer von ioBroker bzw. VIS vor dem Problem stehen RTSP-Streams einfach "vis-gesteuert" darzustellen. Daher war mein Ansatz, das Thema hier mal zur Diskussion zu stellen.

        Die Frage einen RTSP-Stream in VIS einzubinden ist tatsächlich schon mehr als einmal hier aufgetaucht und auch jeweils breit mit Möglichkeiten und Hinweisen einer Umsetzung diskutiert und beschrieben worden. Siehe dazu auch meine konkreten Hinweise auf 2 mögliche Anwendungen im ersten Absatz. Was Du in dem Kontext unter "vis-gesteuert" verstehst oder damit meinst bleibt (für mich) aber immer noch ein Geheimnis, denn ich vermag keine Steuerung aus oder mit VIS aus Deinen bisherigen Ausführungen zu erkennen.

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @PeZi last edited by bahnuhr

          @pezi

          Bei mir läuft go2rtc in proxmox.
          Davor hatte ich motioneye in proxmox.
          Und dann nach VIS.

          !! Bei beiden gibt es keine Zeitunterschiede !!

          a5ebb6eb-7ce2-4ee0-8e1f-74e60d465bd8-image.png

          Links die cam direkt. Rechts in vis über go2rtc.
          Die Sekunden sind gleich.

          1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 last edited by

            Ich habe weder mit go2rtc, Frigate oder AgentDVR Latenzen auf meinen Anzeigen die jeweils aus PI5 und Touch Monitor bestehen sowie ein IPAD.

            P 1 Reply Last reply Reply Quote 0
            • P
              PeZi @wendy2702 last edited by

              @bahnuhr
              @wendy2702
              Bei mir laufen ioBroker und Chromium jeweils auf einem Raspberry 4 mit 8GB. Weitere Software ist auf keinem der beiden Raspis installiert. go2rtx läuft auf einem dritten Raspi 4 mit ebenfalls 8GB.

              Zu Beginn, wenn eine der Kameras "Neu" aufgerufen wird, ist keine Latenz vorhanden. Im Gegenteil, über go2rtc und VIS kommen die Bilder sogar etwas schneller als direkt vom Web-Interface der Kamera:
              Bild 1.png

              Wenn der Stream allerdings dauerhaft angezeigt wird, steigt die Latenz innerhalb einer halben Stunde deutlich an.
              Bild 2.png

              Hier meine Konfigurations-Dateien von go2rtc:

              [Unit]
              Description=starting go2rtc server
              
              [Service]
              User=admin
              WorkingDirectory=/usr/local/bin/go2rtc/
              ExecStart=/usr/local/bin/go2rtc/go2rtc_linux_arm64
              Restart=always
              
              [Install]
              WantedBy=multi-user.target
              
              streams:
               kamera1:
               - rtsp://user:password@192.168.22.40:554/Preview_01_main#udp#media=video
               kamera2:
               - rtsp://user:password@192.168.22.41:554/Preview_01_main#udp#media=video
               kamera3:
               - rtsp://user:password@192.168.22.18:554/mpeg/media.amp
              # kamera4:
              # - "ffmpeg:rtsp://user:password@192.168.22.42:554/Preview_01_main#video=h264#ultrafast#width=1280"
              

              Kamera 1 und 2: Reolink RLC 520A
              Kamera 3: Doorbird
              Kamera 4: Reolink 4K 8MP PTZ PoE (derzeit noch nicht produktiv)

              Als weitere Software hatte ih mit gleichem Ergebnis mediamtx im EInsatz.
              Motioneye habe ich aufgrund vieler negativer Berichte hinsichtlich Entwicklungsstand und auch Latenz, auch hier im Forum, nicht getestet.

              Peter

              MartinP bahnuhr 2 Replies Last reply Reply Quote 0
              • MartinP
                MartinP @PeZi last edited by

                @pezi interessant wäre, WO hier gepuffert wird.
                An irgendeiner Stelle müssen die Frames ja zwischengespeichert werden, wenn sie nicht direkt ausgespielt werden.
                Da müsste man schauen, ob auf dem Player- Rechner, oder auf dem go2rtc Rechner der Speicher ansteigt.

                Falls es wirklich bei go2rtc ist, kann man ggfs mit Parameter Voodoo bei den Kamera Streams etwas erreichen...

                In gewissen Grenzen wird man eh keine Unterschiede erreichen können, da unter der Motorhaube der meisten linux Video Tools ffmpeg arbeitet.

                P 1 Reply Last reply Reply Quote 0
                • wendy2702
                  wendy2702 last edited by

                  Sehe ich das richtig das du den Main Stream mit voller Auflösung nimmst?

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active @PeZi last edited by

                    @pezi
                    Peter, bei mir sieht der Link so aus:

                    Terrasse_2: rtsp://user:pass@192.168.243.158:88/videoMain
                    

                    alles foscam Kameras.
                    Und kein Versatz.

                    1 Reply Last reply Reply Quote 0
                    • P
                      PeZi @MartinP last edited by PeZi

                      @martinp
                      gepuffert wird bei go2rtc, da der Zeitversatz bei allen Anzeigegeräten gleich ist. Verursacht wird er aber scheinbar durch den Raspi der Anzeige, da dort das Bild der Kamera 1 ständig im Home-Bildschirm angezeigt wird.
                      Ich gehe daher davon aus, das die Pufferung "vor" go2rtc stattfindet. Wenn man diesen Puffer ausschalten könnte, würde im Ausgabestream alle paar Sekunden mal ein Bild fehlen, was aber kein Problem darstellt.

                      Der Parameter Voodoo sagt mir nichts. Was bewirkt er, wo gehört er hin und gibt es dazu weitere Parameter?

                      @wendy2702
                      Ja, für den Main Stream verwende ich die volle Auflösung (2560x1920)
                      Bei den Reolink Kameras wird bei Reduzierung der Auflösung des Main Streams das Bild rundum auf die gewählte Auflösung geschnitten. Der zweite angebotene Stream (im Reolink Wording "Fluent") hat eine feste Auflösung von 640x480.
                      Bei einem Ereignis an einer der Kameras wird deren Bild im Vollbildmodus angezeigt, sodass nur der Main Stream entsprechende Qualität liefert.
                      Eine Reduzierung der Auflösung auf die idealerweise benötigten 1920x1080 mittels go2rtc erhöht die Latenz schneller aufgrund der hierfür erforderlichen zusätzlichen Rechenzeit.
                      Statt dessen habe ich mit der Frame Rate und der maximalen Bitrate experimentiert, allerdings ohne nennenswerten Erfolg

                      Laut htop liegen aber alle relevanten Parameter des Raspis, auf dem go2rtc läuft, im grünen Bereich.

                      @bahnuhr
                      Den Parameter #media=video nutze ich, da ich kein Audio benötige (soll Rechenzeit sparen)
                      Von #udp erhoffe ich mir wegen des verbindungslosen Protokolls eine schnellere Abarbeitung, da verlorene Pakete einfach wegfallen. Die dann ggf. auftretenden Bildstörungen nehme ich in Kauf.

                      Danke für Eure Unterstützung

                      Peter

                      wendy2702 1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 @PeZi last edited by

                        @pezi Ich verarbeite von meinen 4x Reolink nur den Sub Stream den Onvif ausgibt. Mir reicht das zur Anzeige auf der VIS von der Qualität.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        880
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        5
                        12
                        842
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo