An MotionEye (inkl. MotionEyeOS) lassen sich dank Web-Interface leicht verschiedene Kameras anbinden. Etwas kniffeliger kann die Sache allerdings bei hochauflösenden IP-Kameras werden, wie das Beispiel mit einer Reolink RLC-420 mit 5MP zeigt.
Aktuell habe ich zum Testen vom Hersteller Reolink eine IP-PoE-Kamera des Typs RLC-420-5MP zur Verfügung gestellt bekommen. Während die An- bzw. Einbindung bei Synology NAS und mittels Reolink Client keine Schwierigkeiten bereitet, verhält es sich bei MotionEye etwas anders. Dennoch gibt es ein-zwei mögliche Lösungswege.
Gleich vorweg: FullHD-Streams und Raspberry Pi „vertragen“ sich nicht besonders, da die CPU dieses Einplatinen-Computers schlicht zu schwach ist. Als Workaround lässt sich der qualitativ wesentlich schlechtere VGA- oder der JPEG-Stream verwenden. Letzteres würde ich persönlich dann eher bevorzugen, wenn ein Raspi zum Einsatz kommt.
Möchte man den h.264-FullHD-Stream nutzen, muss mehr CPU-Leistung her. Für den Versuch wurde ein Intel NUC DN2820FYKH mit einem Celeron N2830-Prozessor hergenommen. Dieser hat zwar schon ein paar Jahre auf dem Buckel, sollte aber für dieses Experiment reichen. Auf diesem wurde Debian 9 Stretch samt MotionEye installiert. Wie das geht, siehe die Links in den Quellen.
Die Stream-URLs sehen so aus:
FullHD-Stream: rtsp://<IP>:554/h264Preview_01_main VGA-Stream: rtsp://<IP>:554/h264Preview_01_sub JPEG-Stream: http://<IP>/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=<IrgendwelcheZeichen>&user=<Benutzername>&password=<Kennwort> RTMP-Stream (siehe Update vom 28.06.2019): rtmp://<IP>:1935/bcs/channel0_main.bcs?channel=0&stream=0&user=<Benutzername>&password=<Kennwort>
Gibt man nur „rtsp://<IP>:554“ an, wird automatisch der FullHD-Stream verwendet.
Zu beachten bei JPEG ist, das man beim Einrichten der Kamera in MotionEye nicht den Benutzernamen und das Kennwort in die dafür vorgesehenen Felder einträgt! Diese müssen an der URL angefügt sein, andernfalls funktioniert es nicht.
Die Einstellungen in der Kamera für den h.264-FullHD-Stream sehen für MotionEye wie folgt aus:
Eine höhere Auflösung oder ein anderen H.264-Profil resultierten im Test in einem Standbild oder vielen Artefankten in MotionEye. Mit den hier gezeigten Einstellungen gibt es bereits auf dem NUC eine CPU-Auslastung von ca. 40%. Das ist aber soweit nur ein Beispiel, je nach eingesetzter Hardware muss man ggf. weiter mit den Einstellungen herumspielen, bis das man eine funktioniernde Kombination hat.
Quellen:
Github – MotionEye – Wiki – Installation
Github – MotionEye – Wiki – Install on Debian
Reolink – Support – How to Live View Reolink Cameras via VLC Media Player
Reolink – FAQs – How to Capture Live JPEG Image of Reolink Cameras via Web Browsers
Update 28.06.2019
Den Balanced-Stream, also das Zwischending von FullHD und VGA bekommt man ebenfalls unter Motion bzw. MotionEye zum Laufen. Leider ist das nicht ganz so simple, da MotionEye bislang kein Hinzufügen mit RTMP-URLs erlaubt. Man kann das Ganze allerdings umgehen:
- Motion auf aktuelle Version aktualisieren (Für Debian 9 Stretch siehe hier).
- In MotionEye eine JPEG-Kamera wie oben beschrieben anlegen.
- Via ssh oder an der Konsole die Datei „/etc/motioneye/Camera-X.conf“ editieren.
- Die Zeile „netcam_url“ wie folgt abändern und speichern:
rtmp://<IP>:1935/bcs/channel0_main.bcs?channel=0&stream=0&user=<Benutzername>&password=<Kennwort>
- MotionEye mit „systemctl restart motioneye“ neustarten.