NEWS
[HowTo] Anleitung: Einbindung IP-Kamera(s)
-
Hi!
Ich habe ein kleines Problem mit dem Motion-Adapter.
Ich habe Motion installiert (mittels apt-get), und ich denke, es funktioniert auch soweit.
Mein Problem ist jedoch, dass im Adapter keine Reaktion auf die Aktionen von Motion zu sehen sind.
Bei korrekter Installation sollte ja zB "lastpicture" den Dateinamen des letzten Bildes enthalten.
Tut es aber nicht, und ich bekomme es auch nicht hin.
in der motion.conf habe ich auf das Events.sh script verwiesen, und es wird auch ausgeführt.
Zusätzlich habe ich fürs debuggen die folgende Zeile eingefügt:
echo $json_answer >> $log_fileDarin wird, wenn ich zB einen Snapshot erstelle, folgende Zeile geloggt:
{"event": "on_picture_save", "thread": 1, "timestamp": "1500020347", "noiselevel": 15, "filename": "/home/motion/01-20170714101907-snapshot.jpg"}wenn ich jetzt aber mit netcat diesen Text übermittle
echo {"event": "on_picture_save", "thread": 1, "timestamp": "1500020347", "noiselevel": 15, "filename": "/home/motion/01-20170714101907-snapshot.jpg"} |netcat 127.0.0.1 8093dann wird die Instanz motion.0 für kurze Zeit rot (~45sek), und die Werte werden auch nicht übernommen.
den Motion HTTP-Server Port habe ich auf 8091 gesetzt, den Motion Event Port auf 8093 (ebenso in der Events.sh)
außerdem belegter POrt :
<code>[/# The mini-http server listens to this port for requests (default: 0 = disabled) stream_port 8092 code] Die Steuerung über die Objecte in Motion.0.thread0.control funktioniert ... zumindest kann ich einen Snapshot erstellen... Kann mir da jemand sagen, was ich falsch mache? LG Mike Edith sagt: Habe gesehen dass im Netcat Befehl Thread 1 steht, unter den Objekten aber Thread0. Beim Netcat Befehl den Thread auf 0 zu setzen, bringt aber keine Änderung :(</code> -
Soo….
Habe jetzt ein Workaround umgesetzt.
Statt dem Verweis auf die Events.sh habe ich jetzt direkt in der motion.conf die Einträge für iobroker gemacht.
Bsp:
# Command to be executed when a picture (.ppm|.jpg|.webp) is saved (default: none) # To give the filename as an argument to a command append it with %f #on_picture_save /usbstick/motion/events.sh on_picture_save %t %s %N %f #funktioniert bei mir nicht on_picture_save iobroker state set motion.0.thread0.events.lastpicture %f #funktioniert ganz gut, hat aber leichte VerzögerungenIst zwar nicht die sauberste Lösung, aber zumindest funktioniert sie…
-
` > gstreamer konfigurieren
rtsp-Link der Kamera herausfinden, z.B. durch Kamera-Dokumentation, iSpy, Internet-Recherche etc. Der wird dann in der gstreamer.service bei location= eingetragen (s.u. - zwischen … rtspsrc und ! rtph264depay ... - bei mir rtsp://192.168.0.8/Streaming/Channels/101, ich habe noch eine IP-Kamera, da ist es lediglich rtsp://192.168.0.9).
Code:
sudo nano /etc/systemd/system/gstreamer.service
Inhalt:
Code:
[Unit]
Description=Launch and monitor Gstreamer Pipeline
[Service]
ExecStart=/usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168.0.8/Streaming/Channels/101 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! tee ! v4l2sink device=/dev/video0
Restart=always
[Install]
WantedBy=multi-user.target `
Hallo,
ich habe kein rtsp Stream sondern einen MJPEG Stream über http also [http://192.168.1.51/videostream.cgi?use … =Password]
und hänge an der gstreamer.service…
was muss ich dann hier ändern?
ExecStart=/usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168.0.8/Streaming/Channels/101 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! tee ! v4l2sink device=/dev/video0
Danke und viele Grüße
Marcel Jaud
-
Hallo,
ich habe jetzt das hier probiert:
ExecStart=/usr/bin/gst-launch-1.0 souphttpsrc location="[http://192.168.1.51/videostream.cgi?use … =Password]" ! jpegparse ! jpegdec ! x264enc bitrate=512 key-int-max=45 speed-preset=superfast threads=1 ! video/x-h264,stream-format=avc,alignment=au,profile=constrained-baseline ! h264parse ! vaapidecode ! videoconvert ! tee ! v4l2sink device=/dev/video0
Aber ich habe auch noch ein Problem mit vainfo:
vainfo error: can't connect to X server! error: failed to initialize display AbgebrochenWer kann mir da helfen???
Das ganze läuft in einer Debian VM auf einer DS918+ mit Windows CPU
Danke und viele Grüße
Marcel Jaud
-
Hallo zusammen,
kennt sich hier evtl. noch jemand mit dem motion adapter aus?
Ich habe das Problem, dass zwar motion auf meinem ubuntu-server funktioniert, aber nichts an iobroker weitergegeben wird.
Befehle wie dieser hier in der motion.conf scheinen nicht ausgeführt zu werden. Weder im log von motion noch im log von iobroker tut sich etwas wenn eine Bewegung erkannt wird. Snapshots werden allerdings erstellt.
on_event_start /motion/events.sh on_event_start %t %s %NAußerdem scheint mit der Anbindung der events.sh etwas nicht zu stimmen. Habe spaßeshalber mal mit "sh events.sh" die Datei ausgeführt und plötzlich wurden unter Objekte motion.0 Objekte angelegt, aber der log gibt mir folgende Fehlermeldung aus:
host.server 2018-04-23 19:56:01.580 info Restart adapter system.adapter.motion.0 because enabled host.server 2018-04-23 19:56:01.580 error instance system.adapter.motion.0 terminated with code 0 (OK) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at TCP.onread (net.js:559:20) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:134:10) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at readableAddChunk (_stream_readable.js:176:18) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at Socket.emit (events.js:188:7) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at emitOne (events.js:96:13) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at Socket. (/opt/iobroker/node_modules/iobroker.motion/lib/motion_helper.js:66:29) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at EventEmitter.emit (events.js:188:7) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at emitOne (events.js:96:13) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at EventEmitter. (/opt/iobroker/node_modules/iobroker.motion/motion.js:150:27) host.server 2018-04-23 19:56:01.580 error Caught by controller[0]: at Object.parse (native) host.server 2018-04-23 19:56:01.579 error Caught by controller[0]: SyntaxError: Unexpected end of JSON input motion.0 2018-04-23 19:56:01.560 error uncaught exception: Unexpected end of JSON inputHat jemand ne Idee, was bei mir schieflaufen könnte?