Überwachungskamera (RTSP-Stream) in FTUI anzeigen

Begonnen von aloz77, 04 Februar 2016, 17:10:44

Vorheriges Thema - Nächstes Thema

AlpenFlizzer

Der Entwickler hat vor ein paar Tagen ein Image veröffentlicht, das mit SSL Probleme hatte. Das Problem hat er gestern oder vorgestern mit einem neuen Image behoben, aber ich vermute du hast noch das alte...

Mein Vorschlag wäre, du löschst das bestehende Image vom webrtc-streamer und den Container auch. Dann clonst du das Repo, erzeugst im Ordner webrtc-streamer/ssl gemäß der Anleitung die Zertifikate und den Key und startest dann den Container mit docker-compose.

Wichtig ist dabei, dass du bevor du eventuelle Änderungen für deine Produktivumgebung erst einpflegst, wenn du das Zeug mal laufen hast. Diesbezüglich rate ich also im ersten Schritt davon ab, die docker-compose.yml zu ändern, oder nur um ein Beispiel zu nennen, Key und Zertifikat anders zu erzeugen. Das kann man im nachhinein alles immernoch machen. :-)

Ich würde jetzt:
1. docker stop webrtc-streamer
2. docker rmi -f mpromonet/webrtc-streamer:latest (am besten du nutzt autocomplete mit der TAB Taste, wenn du mehrmals TAB drückst zeigt er dir alle Möglichkeiten)
3. docker rm -f webrtc-streamer
4. das Repo löschen. (rm -r)
5. das Repo neu clonen und dann wie oben beschrieben

Wie du geschrieben hast, kann man mit "command: [bla, bla, bla]" die Konfiguration des webrtc-streamer ändern.
command: [ "-a", "-C", "config.json"] entspricht der Standardkonfiguration, die im original Image vorgegeben ist.
mit command: [ "-a", "-C", "config.json", "-H", "8000,9000s", "-c", "/app/ssl/server.pem"] kann man diese originale Konfiguration im Nachhinein überschreiben.

Versuch mal dein Glück. Es sollte eigentlich recht straight forward sein.

Grüße, Sascha

Funsailor

#106
Hallo Sascha,
mach ich nach dem Einkauf sofort  ;)... und vielen Dank für deine schnelle Antworten und deine Unterstützung :D :D
Gestern hatte ich dein Repro geklont, soll ich heute nochmals dein Repro nehmen?



https://github.com/AlpenFlizzer/webrtc-streamer-docker-compose

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

AlpenFlizzer

Theoretisch musst du nicht, aber ich kann Probleme natürlich besser einordnen, wenn wir auf dem selben Stand sind. Wenn bei dir alles unverändert ist, außer zB die SSL Zerts und Keys brauchst du nicht neu clonen.

In diesem Sinne, würde in deinem Fall auch eventuell ein "docker pull mpromonet/webrtc-streamer:latest" reichen im das neueste Image zu ziehen.

Grüße, Sascha

Funsailor

Hallo Sascha,
habe jetzt alles noch mal neu installiert ... geht nur wie oben beschrieben mit der Zeile:


command: [ "-a", "-C", "config.json"]
Mit der Zeile


command: [ "-a", "-C", "config.json", "-H", "8000,9000s", "-c", "/app/ssl/server.pem"]
komme ich nicht einmal über den http Link (....:8000) an den Stream. Das sollte doch immer gehen, oder?


Ich habe auf meiner Bannane Armbian Buster installiert, update und upgrade gemacht.

Hier die Infos zum Docker:

docker version                     
Client: Docker Engine - Community
Version:           20.10.2
API version:       1.41
Go version:        go1.13.15
Git commit:        2291f61
Built:             Mon Dec 28 16:19:01 2020
OS/Arch:           linux/arm
Context:           default
Experimental:      true

Server: Docker Engine - Community
Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:16:42 2020
  OS/Arch:          linux/arm
  Experimental:     false
containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0



docker-compose version 1.21.0, build unknown
docker-py version: 3.4.1
CPython version: 3.7.3
OpenSSL version: OpenSSL 1.1.1i  8 Dec 2020


Wenn du noch mehr Infos benötigst einfach bescheid geben

Grüße
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

AlpenFlizzer

#109
Poste bitte mal die Ausgabe von "docker logs webrtc-streamer"

EDIT:

Bin dem Problem nochmals nachgegangen. Habe auch den Entwickler auf Github kontaktiert. Er hat alles aufs neueste Ubuntu gezogen und deshalb gab es noch paar Probleme mit Abhängigkeiten.
Jedenfalls hat er heute das Problem gelöst. Ich hab die neuesten Images auf einem Raspi 2 und einem Raspi 3 getestet und https hat funktioniert. Da der Banana Pi Pro den selben Prozessor und dementsprechend den selben Befehlssatz hat wie der Pi2 gehe ich davon aus, dass das Zeug bei dir geht wenn du nochmal ein "docker pull mpromonet/webrtc-streamer:latest" machst. Dann mal neu starten und schauen ob es geht.

Sollten alle Stricke reißen, habe ich Key und Zert für den Demobetrieb direkt in mein Repo hinzugefügt. Damit kann man jetzt einfach clonen, starten und sollte schon gehen.

Grüße, Sascha

Funsailor

Hallo Sascha,
Danke an dich und dem Entwickler, jetzt kann ich die Seite in Firefos aufrufen :)
Da ich inzwischen alles nochmals gelöscht hatte, habe ich dein Repro nochmals komplett übernommen.

Allerdings wird der rtsp Stream meiner Reolink RLC-520
xxx.xxx.xxx.xxx:558/h264Preview_01_sub nicht angezeigt.

Der Stream meiner hiCam S5 wird ordentlich dargestellt.
xxx.xxx.xxx.xxx:554/onvif2

Im VLC Player kann ich beide Kamera Streams ansehen...
Im docker logs webrtc-streamer bekomme ich die folgende Meldung:
: RTSPVideoCapturer:onError url:rtsp://User:password@192.168.xxx.xxx:558/h264Preview_01_sub error:401 Unauthorized
Created new TCP socket 11 for connection
Failed to DESCRIBE: 401 Unauthorized

Wie gesagt, gebe ich den selben Link im VLC Player ein geht das problemlos. Copy and Paste... ???
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

AlpenFlizzer

Freut mich dass es jetzt klappt...

Die Fehlermeldung ist eindeutig. Der Login klappt nicht... Mich wundert deine URL, eventuell mal mit einer anderen versuchen? zB rtsp://admin:password@ip_address:554//h264Preview_01_main von https://support.reolink.com/hc/en-us/articles/360007010473-How-to-Live-View-Reolink-Cameras-via-VLC-Media-Player

Testweise könntest du mal das Passwort entfernen oder einen User anlegen, der keinen Login braucht, um zu schauen, auf welcher Seite das Problem auftritt. Ich habe Hikvision Kameras auf einem Hikvision NVR und Streame die Streams vom NVR. Das klappt einwandfrei.

VLC Player ist ein Hund, der frisst buchstäblich alles - schwer da mitzukommen... Jedenfalls immer bedenken, dass h265 im Web-Rtc Standard noch nicht spezifiziert ist, also wenn dann h264 streamen.

Grüße, Sascha

mrfloppy

Bezüglich deiner Reolink.
Ich habe eine RLC-422 und in der ersten Version des WebRtc integriert gehabt.
Habe noch keine Zeit gefunden den neuen zu clonen und mich damit zu spielen.
Aber das sollte keinen Unterschied machen

Denke auch das es da mit dem Login Probleme gibt.

Ich rufe meine mit diesem Link auf : rtsp://user:pass@x.x.x.x:554//h264Preview_01_main

LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

Funsailor

#113
Hallo Sascha, Hallo Thomas,
meine URL war schon richtig,

rtsp://user:pass@x.x.x.x:558//h264Preview_01_sub

allerdings hatte ich den User "FHEM-Kamera-RLC520-1" genannt... - im User ist hier keine gute Idee :-[
Ich mach das immer so mit Sonderzeichen im Namen und Passwort, hier ging das schief   :-\.
Beim Passwort habe ich "*" bzw "#" bzw "_" und "-" getestet, geht. Im Passwort funktioniert auch der Bindestrich.

Edit:
Das mit dem Sonderzeichen im Namen ist doch kein Problem, nach dem ich ein wenig mit den Einstellungen "gespielt" hatte, scheint es an der Länge des Usernamen zu liegen..

Edit2:
Ich habe nun folgende "User" angelegt:

        "Eingang"   : {"video": "rtsp://123456789:WebCAM@192.xxx.xxx.xxx:558/h264Preview_01_sub"},
        "Eingang10"   : {"video": "rtsp://1234567890:WebCAM@192.xxx.xxx.xxx:558/h264Preview_01_sub"},
        "Eingang11"   : {"video": "rtsp://12345678901:WebCAM@192.xxx.xxx.xxx:558/h264Preview_01_sub"},
        "Eingang12"   : {"video": "rtsp://123456789012:WebCAM@192.xxx.xxx.xxx:558/h264Preview_01_sub"},

Eingang und Eingang10 werden angezeigt -> Der Username darf maximal 10 Zeichen lang sein...  8)

Edit 3:
Jetzt geb ich es auf
Geht nicht:
   "Eingang"   : {"video": "rtsp://fhem-rlc:#TestPassw1234#@192.... bla blah
Geht auch nicht:
   "Eingang"   : {"video": "rtsp://fhem-rlc:#TestPassw#@192.... bla blah
Geht auch nicht:
   "Eingang"   : {"video": "rtsp://FHEM-RLC:TestPassw@192.... bla blah

Das geht aber:

   "Eingang"   : {"video": "rtsp://FHEMRLC:TestPassw@192.... bla blah

Jetzt mach ich einen ganz einfachen USER mit einem ganz einfachem Passwort...

LG
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

mrfloppy

Na wenigstens funktioniert es jetzt.

Wieso verwendest du den SubStream?
Ist da ein Qualitätsunterschied zu merken ob Sub oder Main?

LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

AlpenFlizzer

Zitat von: Funsailor am 25 Januar 2021, 13:50:25
Jetzt mach ich einen ganz einfachen USER mit einem ganz einfachem Passwort...

Nur weil ein Passwort (oder Username) keine Sonderzeichen enthält, ist es noch nicht unsicher... Dazu vllt ein witziger Cartoon, falls du ihn nicht eh kennst...
https://xkcd.com/936/

Du kannst ja noch auf deine Methode herausfinden, wie lange ein Passwort sein darf und dann könntest du dir User und Passwort nach dem xkcd Schema anlegen. (in den jeweiligen maximalen Längen) :-)

Freut mich, dass es jetzt läuft.

LG Sascha

Funsailor

Hallo Sascha,
ich habe jetzt festgestellt, das der "Snapshoot" mit



get Kameraxyz image

nicht mehr geht wenn der "webrtc-streamer" läuft...

Die Kamera habe ich in FHEM mit



define IPCam_RLC520_1 IPCAM 192.168.xxx.yyy

definiert, der path lautet



cgi-bin/api.cgi?cmd=Snap&width=2560&height=1920&channel=0&rs=12345&user=xyz&password=uvw

Im Bewegungsmelder habe ich ein Notify mit

...:motion { ... "get IPCam_RLC520_1 image"...

definiert. Das Bild wird nur bei gestopptem webrtc-streamer geschossen....

Nebenbei zum Passwort:
Wenn man irgendwo ein Passwort eingibt, springt die "Sicherheitsanzeige" sehr oft erst von "Sicher" auf "sehr Sicher" wenn man Sonderzeichen benutzt.

LG Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

mrfloppy

@Funsailor
Hast du noch immer das Problem mit dem Snapshot??

Habe es mal kurz nachgestellt

Ich habe eine Reolink 422.
WebRtc läuft bei mir und Cam ist in Fhem auch eingebunden im IPCAM-Modul.

IPCAM-Modul: path
cgi-bin/api.cgi?cmd=Snap&channel=0&rs=XXX&user=XXX&password=XXX

Config.json im WebRTC: "video":"rtsp://XXX:XXX@x.x.x.x:554//h264Preview_01_main"

WebRtc läuft, Zugriff über die Html Seite, VLC parallel und dann Snapshot funktioniert ohne Probleme.

LG Thomas


RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

Funsailor

Hallo Thomas,
danke für deine Hinweise.
Ja, geht immer noch nicht parallel, ich überprüfe die Einstellungen wenn ich mein Smartvisu Problem erledigt habe Oder nebenbei. Bin im Moment aber zu müde,

Gruß
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

Funsailor

Zitat von: AlpenFlizzer am 25 Januar 2021, 16:40:35
Nur weil ein Passwort (oder Username) keine Sonderzeichen enthält, ist es noch nicht unsicher... Dazu vllt ein witziger Cartoon, falls du ihn nicht eh kennst...
https://xkcd.com/936/

Du kannst ja noch auf deine Methode herausfinden, wie lange ein Passwort sein darf und dann könntest du dir User und Passwort nach dem xkcd Schema anlegen. (in den jeweiligen maximalen Längen) :-)

Freut mich, dass es jetzt läuft.

LG Sascha
Hallo Sascha,
das Sonderzeichen und Co ein Passwort sicherer machen ist für mich eigentlich noch gültig:
ZitatWir empfehlen, dass man starke Passwörter verwendet, die sehr lang sind, sowie Buchstaben, Zahlen und Sonderzeichen enthalten. Zusätzlich muss man für jedes Konto ein individuelles Passwort verwenden. Außerdem ist es eine gute Idee, eine Multi-Faktor Authentifizierung zu nutzen, um den eigenen Schutz noch zu verbessern", sagt Chad Hammond, Sicherheitsexperte bei NordPass.

Ganzer Artikel hier:
https://www.elektroniknet.de/kommunikation/mit-dieser-methode-werden-beliebte-passworter-gehackt.182811.html

Gruß
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -