Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter onvif camera v1.x.x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter onvif camera v1.x.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tombox @chrga last edited by

      @chrga Sollte einfach über die App gehen

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

        Ich habe auf meiner Synology DS918+ den Docker RTSPtoWeb eingerichtet. Kamera einrichten hat funktioniert. Ich kann auf dem Webinterface auch den Stream der Kamera sehen.

        Leider kommt bei Eingabe der URL im Browser

        http://192.168.178.86:8083/stream/27aec28e-6181-4753-9acd-0456a75f0289/channel/0
        

        immer

        404 page not found
        

        sollte mit der URL nicht der Stream angezeigt werden?

        Könnte mir jemand mal bitte einen Einblick in seine config.json von RTSPtoWeb gewähren?

        T R 2 Replies Last reply Reply Quote 0
        • T
          tombox @Knallochse last edited by

          @knallochse Der stream ist direkt nicht Sichtbar sondern muss mit einem Skript wie in der Anleitung eingebunden werden

          1 Reply Last reply Reply Quote 1
          • R
            RandyAndy @RandyAndy last edited by RandyAndy

            @tombox

            also erst einmal vielen Dank für Deinen Adpater. Funktioniert richtig super.
            Noch eine Information von meiner Seite. Ich verwende inzwischen von MaterialDesign das Widget Html Card. Das hat ein Feld Objekt-ID zum Aktualisieren. Das ist ideal um Events abzufangen, da spart man sich die Skripts.

            1 Reply Last reply Reply Quote 0
            • R
              Rookie50 @Knallochse last edited by

              @knallochse hier ist meine config.json:

              {
                "channel_defaults": {},
                "server": {
                  "debug": true,
                  "http_debug": false,
                  "http_demo": true,
                  "http_dir": "web",
                  "http_login": "demo",
                  "http_password": "demo",
                  "http_port": ":8083",
                  "https": false,
                  "https_auto_tls": false,
                  "https_auto_tls_name": "",
                  "https_cert": "server.crt",
                  "https_key": "server.key",
                  "https_port": ":443",
                  "ice_credential": "",
                  "ice_servers": [],
                  "ice_username": "",
                  "log_level": "debug",
                  "rtsp_port": ":5541",
                  "token": {
                    "backend": "",
                    "enable": false
                  },
                  "webrtc_port_max": 0,
                  "webrtc_port_min": 0
                },
                "streams": {
                  "a649b2ed-a7ab-4e24-bb47-52ad03fae00d": {
                    "channels": {
                      "0": {
                        "url": "rtsp://192.168.102.20:554/cam/realmonitor?channel=1\u0026subtype=0\u0026unicast=true\u0026proto=Onvif"
                      }
                    },
                    "name": "Eingang"
                  }
                }
              }
              
              1 Reply Last reply Reply Quote 1
              • wendy2702
                wendy2702 @tombox last edited by wendy2702

                @tombox sagte in Test Adapter onvif camera v1.0.0:

                Rtsp2Web Docker

                Hi,

                ich versuch das gerade umzusetzen. Habe aber das Problem das sobald ich ein zweites Widget für eine weitere Kamera einfüge beide kein Bild mehr anzeigen.

                Lösche ich das zweite Widget wieder funktioniert das andere wieder.

                Erstes Widget sieht so aus:

                49befe52-9543-44fc-9d3a-9c5de93cd61c-grafik.png

                Zweites dann so mit anderer Channel ID:
                46e7cdfb-1dd5-43fb-9236-24e6398b1ed7-grafik.png

                Script ist hinterlegt:

                34006b2d-776a-4003-9cc6-f67807d2c184-grafik.png

                Was mache ich denn falsch ?

                EDIT: Gibt es im Browser Beschränkungen was die Anzahl der Streams betrifft oder so?

                In Chrome sieht es so aus: der funktionierende ist der zuerst eingefügte Stream
                855fb27f-6f1c-4a3f-9208-c465e8e6e8dd-grafik.png

                In FF kommt das:
                8ecb6a6a-c7b5-44a7-bc18-fc0d8ae493e9-grafik.png

                Wenn ich den zweiten Stream auf einen anderen View mache funktioniert er:
                50d0780b-ca9f-4e7f-ba07-c2d40933b146-grafik.png

                Jemand eine Idee dazu ?

                Knallochse 1 Reply Last reply Reply Quote 0
                • Marc_el_K
                  Marc_el_K last edited by

                  Hallo zusammen,

                  ich habe den Fehler gefunden und bitte um Unterstützung:

                  In der Kamera steht
                  onvif.0.IP_PORT.infos.streamUris.Profile2.snapshotUrl.uri: http://IP:80/api/v1/snap.cgi?chn=0

                  Sobald ich Port 80 mit dem hinterlegten Port ändere funktioniert der Link bei mir und ich kann über den Browser Screenshots abfragen.

                  Den Pfad im DAtenpunkt zu überschreiben ist sicher keine gute Idee. Wie ist es denn behebar?

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    Rookie50 @Marc_el_K last edited by

                    @marc_el_k in was änderst du :80? Der Datenpunkt wird von der Onvif Discovery zurück gemeldet. Es wird nicht bringen es dort händisch zu ändern...
                    Schick doch mal die URL mit der Du Snapshots im Browser anzeigen lassen kannst.

                    Marc_el_K 1 Reply Last reply Reply Quote 0
                    • Marc_el_K
                      Marc_el_K @Rookie50 last edited by

                      @rookie50 mit genau dieser Adresse, jedoch nicht mit der 80 sondern meinem hinterlegten Port, den ich in den Kameraeinstellungen hinterlegt habe.

                      http://IP:MeinPort/api/v1/snap.cgi?chn=0

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Rookie50 @Marc_el_K last edited by

                        @marc_el_k hast Du ein Problem mit Port 80? Oder warum hast Du dort einen anderen? Stell doch in der Kamera den Port wieder auf 80 und teste es.

                        Marc_el_K 1 Reply Last reply Reply Quote 0
                        • Marc_el_K
                          Marc_el_K @Rookie50 last edited by Marc_el_K

                          @rookie50 in den Einstellungen der Kamera kann ich von 8000-9000 einen Port vergeben. Also probiere ich es Mal mit 8000

                          Edit: Nein geht nicht. Im Datenpunkt steht wieder "80". Im Browser kein Bild. Ändere ich es ab auf 8000 geht es sofort

                          R T 2 Replies Last reply Reply Quote 0
                          • R
                            Rookie50 @Marc_el_K last edited by

                            @marc_el_k ein Screenshot von den Porteinstellungen wäre hilfreich. Die Kameras haben meistens mehrere Ports für unterschiedliche Dienste

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

                              @wendy2702 Bei mir auch so. Ab 2. Kamera geht die Anzeige nicht mehr

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

                                @knallochse Danke für die Info.

                                Vielleicht hat ja noch wer eine Lösung dazu oder sind wir die einzigen die mehr als eine Kamera in VIS haben ?

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

                                  @wendy2702 bitte für die zweite Kamera folgendes verwenden

                                  <input
                                    type="hidden"
                                    name="webrtc2-url"
                                    id="webrtc2-url"
                                    value="http://192.168.0.2:8083/stream/ddbdb583-9f80-4b61-bafa-613aa7a5daa5/channel/0/webrtc"
                                  />
                                   
                                  <video id="webrtc2-video" autoplay muted playsinline controls style="max-width: 100%; max-height: 100%;"></video>
                                  
                                  setTimeout(function () {
                                    function startPlay(videoEl, url) {
                                      const webrtc = new RTCPeerConnection({
                                        iceServers: [
                                          {
                                            urls: ["stun:stun.l.google.com:19302"],
                                          },
                                        ],
                                        sdpSemantics: "unified-plan",
                                      });
                                      webrtc.ontrack = function (event) {
                                        console.log(event.streams.length + " track is delivered");
                                        videoEl.srcObject = event.streams[0];
                                        videoEl.play();
                                      };
                                      webrtc.addTransceiver("video", { direction: "sendrecv" });
                                      webrtc.onnegotiationneeded = async function handleNegotiationNeeded() {
                                        const offer = await webrtc.createOffer();
                                   
                                        await webrtc.setLocalDescription(offer);
                                   
                                        fetch(url, {
                                          method: "POST",
                                          body: new URLSearchParams({ data: btoa(webrtc.localDescription.sdp) }),
                                        })
                                          .then((response) => response.text())
                                          .then((data) => {
                                            try {
                                              webrtc.setRemoteDescription(new RTCSessionDescription({ type: "answer", sdp: atob(data) }));
                                            } catch (e) {
                                              console.warn(e);
                                            }
                                          });
                                      };
                                   
                                      const webrtcSendChannel = webrtc.createDataChannel("rtsptowebSendChannel");
                                      webrtcSendChannel.onopen = (event) => {
                                        console.log(`${webrtcSendChannel.label} has opened`);
                                        webrtcSendChannel.send("ping");
                                      };
                                      webrtcSendChannel.onclose = (_event) => {
                                        console.log(`${webrtcSendChannel.label} has closed`);
                                        startPlay(videoEl, url);
                                      };
                                      webrtcSendChannel.onmessage = (event) => console.log(event.data);
                                    }
                                   
                                    const videoEl = document.querySelector("#webrtc2-video");
                                    const webrtcUrl = document.querySelector("#webrtc2-url").value;
                                   
                                    startPlay(videoEl, webrtcUrl);
                                  }, 1000);
                                  
                                  wendy2702 1 Reply Last reply Reply Quote 1
                                  • wendy2702
                                    wendy2702 @tombox last edited by

                                    @tombox So ähnlich habe ich das auch gerade hinbekommen.

                                    Jetzt bisschen Off Topic aber kann man eigentlich jedem Widget einzeln unterschiedliche Skripte anhängen?

                                    Ich habe das ja gerade für das erste Widget eingefügt und es ist dann ja auch direkt bei allen anderen sichtbar.

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

                                      @wendy2702 Kenne mich da auch nicht so aus aber anscheinend.
                                      Kannst du was zu der performance von rtsp2web sagen?

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

                                        @tombox Bin gerade dabei VIS von Motioneye auf RTSP2WEB zu stellen. Dann mal auf Bewegung warten oder morgen selber generieren.

                                        Fakt ist das die Prozessor Last im Vergleich zu Motioneye nichts ist.

                                        R 1 Reply Last reply Reply Quote 0
                                        • T
                                          tombox @Marc_el_K last edited by

                                          @marc_el_k Anscheinend ist da was falsch in der Kamera umgesetzt. Du hast den default port von 80 auf was anderes geändert und das wird in der snapshot url korrekt angezeigt.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            meerkat last edited by

                                            Moin.
                                            Wozu benötige ich das Script aus dem ersten Post?
                                            Dachte es würde reichen das über die url http://127.0.0.1:8083/stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc einzubinden.
                                            Gruß

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            828
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            48
                                            339
                                            50906
                                            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