Open Strobel2k opened 1 year ago
Bei mir lag es daran, dass kein ffmpeg installiert war. Allerdings ist meine VM auf der Synology NAS nicht performant genug gewesen. CPU zu 100% ausgelastet, schon bei einer Kamera. :)
Gibt es hierzu irgendeine Lösung? Habe das gleiche Problem, meine IP Kamera über RTSP wird erkannt und ich bekomme in HomeKit alle 10 Sekunde einen neuen Snapshot. Versuche in einen Stream zu öffnen, bekomme ich im Log nur ein [Video] ffmpeg exited with code: 1 and signal: null (error)
. Ein ps aux
im Container im richtigen Moment gab dann auch den dazugehörigen ffmpeg Befehl:
ffmpeg
-nostats
-nostdin
-y
-re
-i rtsp://<Benutzername>:<Password>@<IP Kamera>:554/Streaming/Channels/101
-an
-sn
-dn
-codec:v libx264
-pix_fmt yuv420p
-r 30
-f rawvideo
-tune zerolatency
-vf scale=1280:720
-b:v 299k
-bufsize 299k
-payload_type 99
-ssrc 4301030
-f rtp
-srtp_out_suite AES_CM_128_HMAC_SHA1_80
-srtp_out_params ygvBkNwEWeD9xw+Lr4FUgOS+0K7sVNdh1/gCkH1b
srtp://<IP Notebook mit Home>:57505?rtcpport=57505
ffmpeg ist mittels PACKAGE Umgebungsvariable bereits installiert.
Umgebung: Irgendeine HikVision Kamera mit RTSP Stream I/O Broker in Docker, Version 6.3.5 YAHKA, Version 0.17.0
Auch ich habe dieses Problem, die Standbilder kommen problemlos rein, so ca. alle 10sek. aber der LiveStream wird nicht geladen und der gennante Error im Log wegem ffmpeg erscheint auch bei mir. Ich habe 8 Reolink Kameras im Einsatz und 1 Dahua. Einzig bei der Dahua Cam funktioniert der LiveStream, bei den Reolink Cams keine Chance.
Selbes Problem sobald ich in Yahka Audio aktiviere. Ohne Ton funktioniert der Stream einwandfrei.
Selbes Problem. Gibt es da nicht mal eine gute Anleitung um die Cams zum laufen zu bekommen ? Live Bild funktioniert leider absolut nicht. Nutze zwei Tapo cams. Es wäre sehr nett, wenn der Entwickler bezüglich Kameras einbinden darauf eingehen würde
Hi, evtl. hab ich ne Lösung! Unter Streameigenschaften alles so eintragen wie ihr den Stream bekommt. Sprich Auflösung sollte genau dem entsprechen was die Kamera liefert etc. Quelle/Source ist die rtsp-url eurer Kamera. Anzahl der Streams hab ich auf 1. Ich weiß leider nicht genau was diese Option ändert. Ich hatte erst gedacht, dass man da den Substream oder so was eintragen kann, aber scheinbar geht das irgendwie anders. Codec sollte egal sein, da der in dem Livestream selbst gesetzt wird. Zur Sicherheit kann man ihn aber auf libx264 stehen lassen.
[ "-rtsp_transport", "tcp", "-i", "${source}", "-vcodec", "copy", "-an", "-sn", "-dn", "-payload_type", "${payloadtype}", "-ssrc", "${targetVideoSsrc}", "-f", "rtp", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", "${videokey}", "srtp://${targetAddress}:${targetVideoPort}?rtcpport=${targetVideoPort}&localrtcpport=${targetVideoPort}&pkt_size=${mtu}" ]
das ist meine config für den bewegten LiveStream. Das sollte mit allen Kameras funktionieren die einen reinen h264-Stream (kein h264+, super oder ähnliches) liefern. Der Vorteil ist, dass hier der Stream einfach komplett durchgereicht wird und keine Last auf dem ioBroker Server entsteht.
die lösung von merasil funktioniert für mich perfekt. allerdings nur ohne ton. mit ton gibts wieder den fehler, hast du für den ton eventuell auch ne brauchbare einstellung ? :)
Leider nicht, da ich den bisher nicht benötigt habe. Die Config habe ich mir mittels Scrypted zusammengebaut. Wenn man dort die Kamera hinzufügt und dann bei homekit auf transcode stellt, kann man in der Console dann einen ffmpeg ähnlichen Befehl sehen. Evtl. geht das auch für den Audio-Part. Ich hab Scrypted aktuell nicht mehr installiert, sonst hätte ich schauen können.
@merasil Vielen Dank für die Lösung! Es funktioniert mit den meisten meiner Kameras :) Leider ist es meinem Fall nicht 100% die Lösung, da meine Kameras nur 2 gleichzeitige Streams zulassen :(
Es wäre trotzdem schön vom Ersteller nicht den Stdout von ffmpeg in's Nirvana zu schreiben, sodass man nachvollziehen kann, warum ffmpeg den Stream nicht laden konnte. Selbst mit Silly Logging bekommt man nur die Meldung, dass ffmpeg einen Error-Code zurückgegeben hat.
Okay, für jeden den es interessiert: Geht in euer IO Broker Verzeichnis -> node_modules/iobroker.yahka und öffnet main.js. In Zeile 2836 (Methode handleStreamRequest
) gibt es die auskommentierte Zeile this.FLogger.debug("FFMPEG:" + data.toString('utf8'));
. Entfernt den Kommentar (//
) und startet IO Broker neu. Das spamt extrem das Log, würde es also nicht dauerhaft aktiv lassen, zeigt aber den Stdout von ffmpeg. Macht das debuggen von Fehlern um Welten einfacher!
Moin!
Ich konnte erfolgreich 3 Reolink Kameras in Home einfügen. Leider bekomme ich aber nur Standbilder. Sobald ich den Stream öffne dreht der Ladekreis für ein 1-2 Minuten und danach kommt die Fehlermeldung keine Verbindung.
In ioBroker bekomme ich folgende Meldung.
| [Video] ffmpeg exited with code: 1 and signal: null (error) -- | --Woran kann das liegen? Hier die Einstellungen:
Über VLC bekomme ich einen zufriedenstellenden Stream mit Ton.
Danke Gruß