
Ich habe ein paar Eufy Cam 2 Pros. Ich möchte die RTSP-Streams auf meinem NAS aufzeichnen.
Ich habe den integrierten NAS-Dienst ausprobiert, der nur mit Synology funktioniert, sowie viele Open-Source-Videoaufzeichnungsprogramme, aber alle haben unterschiedliche Probleme.
Ich möchte daher etwas Einfaches und Open Source verwenden und die Kamera-Streams auf meinem allgemeinen internen Speicher aufzeichnen.
Das Hauptproblem scheint zu sein, dass die Eufy-Kamera nur dann Videos streamt, wenn sie intern ausgelöst wird, um die Akkulaufzeit zu verlängern.
Vor allem durch Ausprobieren und zahllose Stunden habe ich es geschafft, einen Befehlssatz zu finden, mit dem die Streams aufgezeichnet werden können, wenn sie stattfinden:
openRTSP -t -b 10000000 -B 10000000 -v -H rtsp://user:password@cam_IP/path | ffmpeg -i - -c:v copy cam_name-$(date +"%Y-%m-%d-%H-%M-%S").mp4
Das Problem ist, dass dieser Fehler auftritt und das „Abhören“ beendet wird, wenn der Stream nicht aktiv ist. Ich wollte versuchen, ein Skript zu erstellen, das alle paar Sekunden ausgeführt wird und zuerst prüft, ob openRTSP bereits ausgeführt wird, bevor openRTSP ausgeführt wird.
Dies scheint eine sehr unelegante Lösung für Anfänger zu sein, aber ich kann keinen OpenRTSP-Switch (oder eine andere Lösung) finden, der ständig auf Streams wartet und diese beim Senden in separaten Dateien aufzeichnet.
Jede Hilfe ist sehr willkommen.
Danke.
Antwort1
Warum verwenden Sie nicht nur openRTSP mit den entsprechenden Optionen?
$ openRTSP -D 1 -c -B 10000000-b 10000000 -q -Q -F ip_cam -d 28800 -P 900 -t rtsp://192.168.xx.xx/11
Erläuterung einiger Optionen:
-D 1 # Quit if no packets for 1 second or more
-c # Continuously record,after completion of -d timeframe
-B 10000000 # Input buffer of 10 MB
-b 10000000 # Output buffer 10MB (to file)
-q # Produce files in QuickTime format
-Q # Display QOS statistics
-F ip_cam # Prefix output filenames with this text
-d 28800 # Run openRTSP 28800 seconds
-P 900 # Start a new output file every 900 seconds
-t # Request camera end stream over TCP, not UDP (slower but packets are checked)
rtsp://192.168.xx.xx/11 # Camera's RTSP URL
Das funktioniert bei mir, ich verwende eine Iegeek G20 IP-Kamera und einen alten RPI 2. Es lauscht auf Streams und zeichnet sie in separaten Dateien auf. Eine Art billiger Ghetto-RPI-NVR. Es gibt mehrere verschiedene Konfigurationen und Optionen, die ich nicht verwende, ich probiere sie einfach aus. http://www.live555.com/openRTSP/
Alternativ können Sie auch ffmpeg verwenden.
ffmpeg -i "rtsp://192.168.xx.xx/11" -c copy -reset_timestamps 1 ip_cam_file.avi
Denken Sie daran, dass Sie die Auflösung hier ändern können, indem Sie in der RSTP-Adresse von 11 auf 12 ändern.
Antwort2
Dies ist wahrscheinlich einHardware-Einschränkungen wie RTSP, das für das normale Flutlicht überhaupt nicht verfügbar istund Innenkameras reduzieren den kontinuierlichen RTSP-Stream auf nur 1080p. Wahrscheinlich, weil die CPU damit nicht zurechtkommt und daher nie durch Software-Updates eingeschaltet werden kann. Schade, denn es gibt kein echtes alternatives Flutlicht, das rund um die Uhr RTSP und lokale Speicherung oder PoE-Daten unterstützt.