NEWS
Aufnehmen von Kamera-Stream über Raspberry Pi bzw. ioBroker?
-
Hallo zusammen,
ich versuche seit einiger Zeit, den Stream, welcher von meiner Außenkamera stammt, mit meinem Raspberry PI aufzunehmen und in einem (für z.B. dem VLC-Player) lesbaren Format abzuspeichern. Zu diesem Zweck habe ich mir FFmpeg auf meinen Pi installiert.
Den Stream (bzw. die Streams) kann ich über folgende Adressen erreichen:
rtsp://<benutzer>:<passwort>@<ip-adresse>/cam/realmonitor?channel=1&subtype=0
für den Hauptstream und
http://<ip-adresse>/cgi-bin/mjpg/video.cgi?channel=0&subtype=1&username=<benutzer>&password= <passwort>für den Nebenstream.
Die „Daten“ der Streams könnt ihr in dem beigefügten Screenshot sehen.
Leider habe ich von Videobearbeitung und den ganzen Codex etc. überhaupt keine Ahnung und die Versuche, meine Unwissenheit mit Google zu beseitigen waren bislang erfolglos.
Aus diesem Grund habe ich es noch nicht hinbekommen, eine entsprechende Aufnahme zu erstellen.
Die besten Ergebnisse erhielt ich mit folgendem Befehl:
sudo ffmpeg -i " http://<ip-adresse>/cgi-bin/mjpg/video.cgi?channel=0&subtype=1&username=<benutzer>SUSY&password=<passwort>" -c:v libx264 -preset veryslow -crf 18 -t 10 <zieladresse>.mp4 <<
Aber auch hier hielt das Bild (in den 10 Sekunden Aufnahme) immer wieder an.
Mit >> codec copy << erhielt ich, mit beiden Streams, eine völlig unbrauchbare Datei.
Im Browser (Nebenstream) und dem VLC-Player laufen die Streams ohne Probleme und ruckelfrei!
Schlussendlich möchte ich eine Aufnahme über ioBroker manuell und bei bestimmten Bedingungen auslösen - daher über einen Konsolenbefehl. Mit Tools/Apps wie z.B. MotionEye hätte ich wieder ein UI bei dem ich Aufnahmen starten kann, aber auch wieder nicht durch ioBroker. Daher ist diese Lösung leider ebenfalls nicht möglich.
Wie muss also das Konsolenkommando aussehen, damit das Ergebnis brauchbar ist?
Vielen Dank im Voraus!</zieladresse></passwort></benutzer></ip-adresse></passwort></benutzer></ip-adresse></ip-adresse></passwort></benutzer>
-
Ich hole das mal hoch, suche nach einer Möglichkeit, per Blockly zb. dass ich den Stream 2 Minuten aufnehmen kann.
Es gibt ja die Möglichkeit - Snapshots zu erstellen und per Telegram zu versenden.
Edit: hab was gefunden
http://192.168.1.14:7999/1/detection/start
http://192.168.1.14:7999/1/detection/pausewhere 192.168.1.14:7999 is the ip:port of your rpi
https://github.com/ccrisan/motioneyeos/issues/842#issuecomment-414375686
-
Nein klappt leider nicht einwandfrei.
Gibts nicht ne möglichkeit per Befehl wie beim Picture holen, ein Video zu speichern?
wget --output-document /opt/iobroker/ipcam/alarm.jpg 'http://192.168.178.200:8765/picture/1/current/'
-
@davimas
Das bedingt ja 2 Teile.
Erst einmal die Aufnahme Zeitlich begrenzt auf ein Medium schreiben.
Zweitens das Abholen der Aufzeichnung.Das Aufzeichnen der Aufnahme geht bei mir.
Habe ein extra PI 3 an dem ein USB Stick 8 GB hängt.
Auf dem PI läuft Motion nicht Motioneye !
Motion
Install
Wenn nun eine Bewegung der Cam erkannt wird werden Bilder und Videos
auf dem Stick gespeichert.
Lange her, meine aber die Länge der Aufnahme hatte ich in Motion eingestellt.
Meine Cam hat glaub ich einen Anschluß für Bewegung auslösen.
Dann könnte man damit die Aufnahme gezielt über ein Relay triggern.
Dann wäre Punkt 1 aufzeichnen ok, fehlt nur das Abholen des Videos vom USB Stick.Letzt endlich eine Frage was kann deine Cam.
Eventuell wäre es möglich per CGI http Command die Aufnahme auf die SD Card der Cam zu starten.
Bleibt das abholen des Videos von der SD Karte.Nachtrag aus der motion.conf Aufnahme Zeit:
Maximum length in seconds of a movie
When value is exceeded a new movie file is created. (Default: 0 = infinite)
Ralla 10 default 0
max_movie_time 20