Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Einbindung (IP) Kamera über "Motion"

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einbindung (IP) Kamera über "Motion"

    This topic has been deleted. Only users with topic management privileges can see it.
    • fu_zhou
      fu_zhou last edited by

      Ja, der Adapter ist in den Instanzen und grün.

      Wie hast du die V4.0.1 von motion installiert? Über sudo apt-get motion kriegt man ja nur die 3.12.

      Gibt es für Variante 2 eine Anleitung - motion 4.0.1, gstreamer, loopback, pipeline etc.? Mir ist die Latenzzeit des Videos im Browser zu hoch, was wohl auch auf Variante 1 deutet.

      1 Reply Last reply Reply Quote 0
      • ruhigundrelaxed
        ruhigundrelaxed last edited by

        Die hab ich aus git gezogen und kompiliert. Etwa so:

        sudo apt-get install autoconf automake build-essential pkgconf libtool libzip-dev libjpeg62 libjpeg62-dev git libavformat-dev libavcodec-dev libavutil-dev libswscale-dev
        cd ~ 
        git clone https://github.com/Motion-Project/motion.git 
        cd motion 
        autoreconf -fiv 
        ./configure 
        make 
        make install
        
        

        Variante 2:

        1.) Gstreaner 1.0 + plugins installieren.

        2.)v4l2loopback (dkms) installieren

        3.)v4l2loopback laden (modprobe…)

        4.)gstreamer pipeline starten (````
        usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168..**:8001/ch01.264 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! tee ! v4l2sink device=/dev/video0

        
        5.)Motion configurieren das /dev/video0 verwendet wird.
        
        Autostart dann via systemd.
        
        Ps.: du hast geschrieben, dass deine cam mjpeg können sollte, aber trotzdem h264 ausgibt. Das problem haben meine powerview cams auch. (Zumindest bei dem aux. Stream) Wohl gleiche plattform….
        1 Reply Last reply Reply Quote 0
        • fu_zhou
          fu_zhou last edited by

          Okay, zum Thema motion 4.0.1 sind wir schon einmal gleich vorgegangen…

          Jetzt muss ich mich noch mal an den Rest machen. Verstehe ich das richtig, dass die Pipeline den Stream von der Kamera auf /dev/video0 umleitet, ich den netcam_url also wieder auskommentiere?

          1 Reply Last reply Reply Quote 0
          • ruhigundrelaxed
            ruhigundrelaxed last edited by

            > Verstehe ich das richtig, dass die Pipeline den Stream von der Kamera auf /dev/video0 umleitet, ich den netcam_url also wieder auskommentiere

            Ja, genau. Für motion (und alle anderen programme die v4l nutzen) sieht das dann wie ein lokales device aus.

            1 Reply Last reply Reply Quote 0
            • fu_zhou
              fu_zhou last edited by

              Was bisher geschah:

              Installation von motion:

              sudo bash
              apt-get install autoconf automake build-essential git libtool libjpeg8-dev libzip-dev libavformat-dev libavcodec-dev libavutil-dev libav-tools libswscale-dev libavdevice-dev
              cd /
              git clone https://github.com/Motion-Project/motion.git
              cd motion
              autoreconf -fiv
              ./configure
              make
              make install && ldconfig
              

              dann noch die Konfiguration kopieren und bearbeiten:

              sudo bash
              cp /usr/local/etc/motion/motion-dist.conf /usr/local/etc/motion/motion.conf
              nano /usr/local/etc/motion/motion.conf
              
              

              /dev/video0 verwenden

              Ports so einstellen, dass es keine Kollision mit ioBroker gibt

              webcontrol_html_output auf "off"

              …

              motion muss auch noch gestartet werden:

              sudo motion
              

              ` > 1.) Gstreaner 1.0 + plugins installieren.

              2.)v4l2loopback (dkms) installieren

              3.)v4l2loopback laden (modprobe…)

              4.)gstreamer pipeline starten

              5.)Motion configurieren das /dev/video0 verwendet wird `

              zu 1.)

              sudo bash
              apt-get install gstreamer1.0-tools
              apt-get install gstreamer1.0-plugins
              apt-get install gstreamer1.0-omx
              
              

              zu 2.)

              Über apt-get install … bekommt man die Version 0.8, die mit der aktuellen Version von Jessie/ Firmware nicht kompatibel ist, daher:

              sudo bash
              apt-get install raspberrypi-kernel-headers
              cd /
              git clone https://github.com/umlaeute/v4l2loopback
              cd v4l2loopback
              make && sudo make install
              
              

              zu 3.)

              modprobe v4l2loopback
              

              zu 4.)

              /usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168.0.9 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! tee ! v4l2sink device=/dev/video0
              

              Und siehe da, es geht. Motion belastet die CPU jetzt mit ca 44% aber wenn Bewegung erkannt wird geht die Belastung hoch auf 99%. Die Verzögerungszeit ist ca. 5 Sek. Hast du eine Idee, wo man noch tunen kann? Die Kamera liefert schnelle Bilder, das sehe ich am PC mit iSpy.

              zu 5.)

              siehe "Installation von motion" oben

              Denn Autostart via systemd musst du noch beisteuern. Passt sonst alles?

              1 Reply Last reply Reply Quote 0
              • ruhigundrelaxed
                ruhigundrelaxed last edited by

                Hey, du bist ja richtig schnell… 😮

                Prima, dass es funktioniert.

                Hier die Service Files:

                cat /etc/systemd/system/gstreamer.service
                
                [Unit]
                Description=Launch and monitor Gstreamer Pipeline
                
                [Service]
                ExecStart=/usr/bin/gst-launch-1.0 rtspsrc location=rtsp://192.168..:8001/ch01.264 !  rtph264depay ! h264parse ! omxh264dec ! videoconvert ! tee ! v4l2sink device=/dev/video0
                Restart=always
                [Install]
                WantedBy=multi-user.target
                
                

                und

                cat /etc/systemd/system/motion.service 
                [Unit]
                Description=Motion Daemon
                
                [Service]
                Type=forking
                PIDFile=/var/run/motion/motion.pid
                ExecStart=/usr/bin/motion -c /etc/motion/motion.conf
                Restart=on-failure
                Requires=gstreamer.service
                [Install]
                RequiredBy=gstreamer.service
                
                

                Ich kümmere mich grade um den "nur eine cam bug".

                Gruß

                Martin

                ps.:

                Die erste Zeile mit dem "cat" gehört natürlich nicht in die Files. Habs nur stehe gelassen, damit du weist wohin du die Files packen musst. Die Pipeline im gstreamer.service file musst du natürlich auch anpassen.

                1 Reply Last reply Reply Quote 0
                • fu_zhou
                  fu_zhou last edited by

                  Habe das ganze jetzt einmal auf einem Pi2 installiert - nur motion und v4l, sonst nichts (die Anleitung oben funktioniert also…). Da ist die Videowiedergabe noch langsamer, als beim Pi3, auf dem noch parallel SQL und ioBroker läuft. Ist sichergestellt, dass die GPU verwendet wird oder macht hier alles die CPU? Kann man das irgendwie prüfen?

                  1 Reply Last reply Reply Quote 0
                  • ruhigundrelaxed
                    ruhigundrelaxed last edited by

                    Naja, es wird halt nur das h264 decoding auf der gpu gemacht. Die eigentliche Bewegungserkennung ist cpu. Du könntest ja mal testweise in der gstreamer pipeline einen anderen h264 decoder verwenden. Z.B.: x264dec Da x264dec auf der cpu decodiert. Leider kommt man nicht so ohne weiteres an die Auslastung des entsprechenden gpu subsystems. (There are no tools I am aware of to monitor H264 block utilisation.) Was ist den langsam? Der mjpeg stream? Hast du dir den mal mit vlc angesehen? Leider steht mein pi ca. 70km von meiner aktuellen positon entfernt. Daher kann ich keine zuverlässige tests durchführen. Die Bandbreite (upstream) würde da reinpfuschen. Ich meine aber, dass ich bei 720p ca. 15-20 frames bei ca. 2-5 Sekunden Latenz hatte. (Pi2) Es sah erstaunlich flüssig aus…

                    1 Reply Last reply Reply Quote 0
                    • fu_zhou
                      fu_zhou last edited by

                      Beim rtsp Stream auf dem PC (VLC) habe ich eine Latenz-Zeit deutlich kleiner als eine Sekunde, im Browser, wenn ich auf den Pi schaue, von ca. 4-5 Sekunden. Framerate im VLC ist auch deutlich höher.

                      Ich habe mir jetzt mal noch nen Pi 3 bestellt, mal schaun, wie's da dann aussieht, wenn er nur mit der Kamera beschäftigt ist. Wie sieht's mit dem Adapter aus? Kann ich im Moment irgendetwas zur Unterstützung tun?

                      1 Reply Last reply Reply Quote 0
                      • ruhigundrelaxed
                        ruhigundrelaxed last edited by

                        Hmmm. Ich meinte nicht die Latenz cam->vlc, sondern die Latenz motion-mjpeg-stream->vlc. Also die Url des motion http streams in vlc. (Um den browser-player als Ursache auszuschließen.) falls du x11 auf dem pi hast, könntest du auch direkt mal mit vlc /dev/video0 testen. (Um gstreamer h264 decoding als Ursache auszuschließen.) Ich denke cam -> vlc (also direkt rtsp über vlc) markiert die minimale Latenz. (Weniger geht nicht.)

                        1 Reply Last reply Reply Quote 0
                        • ruhigundrelaxed
                          ruhigundrelaxed last edited by

                          Ok, ich habe mal was gegen den "one cam bug" getan. Bitte mal den file "motion.js" aus dem git ziehen und damit die bestehende ersetzen.

                          1 Reply Last reply Reply Quote 0
                          • fu_zhou
                            fu_zhou last edited by

                            Bald gibt's hier ein Update mit Tutorial, wie jede Billig-IP-Kamera in ioBroker eingebunden werden kann - rtsp ist Voraussetzung, das kann aber so ziemlich jede Kamera, wie es scheint.

                            Damit ist es auch möglich, Bilder auf's Handy geschickt zu bekommen, obwohl die Kamera keinen URL für Snapshots "versteht".

                            Stay tuned…

                            1 Reply Last reply Reply Quote 0
                            • 0
                              0018 last edited by

                              @fu_zhou:

                              Bald gibt's hier ein Update mit Tutorial, wie jede Billig-IP-Kamera in ioBroker eingebunden werden kann - rtsp ist Voraussetzung, das kann aber so ziemlich jede Kamera, wie es scheint.

                              Damit ist es auch möglich, Bilder auf's Handy geschickt zu bekommen, obwohl die Kamera keinen URL für Snapshots "versteht".

                              Stay tuned… `

                              Hi,

                              bin auf der Suche nach einer ähnlichen Anbindung.

                              Kannst du schon sagen wann das Tutorial ungefähr fertig sein wird?

                              Mfg

                              1 Reply Last reply Reply Quote 0
                              • fu_zhou
                                fu_zhou last edited by

                                Über's verlängerte Wochenende jetzt sollte ich fertig werden.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  andyb last edited by

                                  @fu_zhou:

                                  Über's verlängerte Wochenende jetzt sollte ich fertig werden. `
                                  Ohne irgendeine Art von Druck erzeugen zu wollen, einfach weil ich ne Lösung suche…. Gibt es da ne Zeitschiene? :oops:

                                  1 Reply Last reply Reply Quote 0
                                  • fu_zhou
                                    fu_zhou last edited by

                                    Gibt's seit Ende Mai:

                                    http://forum.iobroker.net/viewtopic.php … 900#p68900

                                    Kannst dich gleich mal zum Thema v4l2loopback einbringen…

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jautze last edited by

                                      Hallo,

                                      ich bekomme den Motion Adapter nicht zum laufen.

                                      In den Adaptern habe ich ihn hinzugefügt, in den Instanzen auch und konfiguriert, aber in den Objekten legt er nix an. kann das am Admin 3.x Adapter hängen.

                                      Wenn ich was von der Konsole schicke:

                                      echo {"event": "on_motion_detected", "thread": 3, "timestamp": "1520863657", "noiselevel": 15} | /bin/netcat 192.168.1.138 6666

                                      bekomme ich im Broker:

                                      motion.0 2018-03-13 07:42:26.799 error at TCP.onread (net.js:547:20)

                                      motion.0 2018-03-13 07:42:26.799 error at Socket.Readable.push (_stream_readable.js:134:10)

                                      motion.0 2018-03-13 07:42:26.799 error at readableAddChunk (_stream_readable.js:176:18)

                                      motion.0 2018-03-13 07:42:26.799 error at Socket.emit (events.js:188:7)

                                      motion.0 2018-03-13 07:42:26.799 error at emitOne (events.js:96:13)

                                      motion.0 2018-03-13 07:42:26.799 error at Socket. (/opt/iobroker/node_modules/iobroker.motion/lib/motion_helper.js:66:29)

                                      motion.0 2018-03-13 07:42:26.799 error at EventEmitter.emit (events.js:188:7)

                                      motion.0 2018-03-13 07:42:26.799 error at emitOne (events.js:96:13)

                                      motion.0 2018-03-13 07:42:26.799 error at EventEmitter. (/opt/iobroker/node_modules/iobroker.motion/motion.js:150:27)

                                      motion.0 2018-03-13 07:42:26.799 error at Object.parse (native)

                                      motion.0 2018-03-13 07:42:26.799 error SyntaxError: Unexpected token e in JSON at position 1

                                      motion.0 2018-03-13 07:42:26.796 error uncaught exception: Unexpected token e in JSON at position 1

                                      Wie gesagt in den Objekten gibt es nix mit motion.

                                      Wer kann mir helfen?

                                      Danke und viele Grüße

                                      Marcel Jaud

                                      1 Reply Last reply Reply Quote 0
                                      • lobomau
                                        lobomau last edited by

                                        @Jautze:

                                        Hallo,

                                        ich bekomme den Motion Adapter nicht zum laufen.

                                        In den Adaptern habe ich ihn hinzugefügt, in den Instanzen auch und konfiguriert, aber in den Objekten legt er nix an. kann das am Admin 3.x Adapter hängen.

                                        Wenn ich was von der Konsole schicke:

                                        echo {"event": "on_motion_detected", "thread": 3, "timestamp": "1520863657", "noiselevel": 15} | /bin/netcat 192.168.1.138 6666

                                        bekomme ich im Broker:

                                        motion.0 2018-03-13 07:42:26.799 error at TCP.onread (net.js:547:20)

                                        motion.0 2018-03-13 07:42:26.799 error at Socket.Readable.push (_stream_readable.js:134:10)

                                        motion.0 2018-03-13 07:42:26.799 error at readableAddChunk (_stream_readable.js:176:18)

                                        motion.0 2018-03-13 07:42:26.799 error at Socket.emit (events.js:188:7)

                                        motion.0 2018-03-13 07:42:26.799 error at emitOne (events.js:96:13)

                                        motion.0 2018-03-13 07:42:26.799 error at Socket. (/opt/iobroker/node_modules/iobroker.motion/lib/motion_helper.js:66:29)

                                        motion.0 2018-03-13 07:42:26.799 error at EventEmitter.emit (events.js:188:7)

                                        motion.0 2018-03-13 07:42:26.799 error at emitOne (events.js:96:13)

                                        motion.0 2018-03-13 07:42:26.799 error at EventEmitter. (/opt/iobroker/node_modules/iobroker.motion/motion.js:150:27)

                                        motion.0 2018-03-13 07:42:26.799 error at Object.parse (native)

                                        motion.0 2018-03-13 07:42:26.799 error SyntaxError: Unexpected token e in JSON at position 1

                                        motion.0 2018-03-13 07:42:26.796 error uncaught exception: Unexpected token e in JSON at position 1

                                        Wie gesagt in den Objekten gibt es nix mit motion.

                                        Wer kann mir helfen?

                                        Danke und viele Grüße

                                        Marcel Jaud `
                                        Ich habe mich nun wieder mit dem Adapter motion beschäftigt und habe ihn nun am Laufen 🙂

                                        Den Motion-Adapter hast du in den grünen Status bekommen?

                                        Mein Test-System:

                                        Pi3

                                        Admin 3.3.3

                                        node 6.3.1

                                        npm 3.10.10

                                        Ich habe eine ganz einfache Installation durchgeführt, ohne gstreamer und v4l2loopback.

                                        Auf dem Pi3 habe ioBroker und motion am Laufen. Motion braucht 10% von der CPU. Nun kann ich testen…

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Terrax last edited by

                                          Hallo @lobomau, Hallo zusmammen,

                                          bin neu hier im Forum und möchte meine Foscam FI9901EP mittels motion in VIS einbinden.

                                          Habe bisher einige Views angelegt, Navigation, etc. und nun wäre video dran.

                                          Zur Vorgeschichte:

                                          Mit der SW von Foscam habe ich diese bereits am laufen, Bewegungen werden registriert und auf einem

                                          USB Stick an meinem Router (Speedport) gespeichert (Video und Foto). Diesen habe ich als FTP-Server in

                                          der SW von Foscam angelegt (USB-Stick ist dann ein Laufwerk in meinem Netz) Hier würde ich dann auch

                                          gerne von iobroker aus speichern wollen. Live Video stream habe ich auch mal zur Übung mit VLC eingerichtet

                                          (rtsp://admin:password@192.168.2.XXX:88/videoMain) und läuft.

                                          Da ich die Kamera nun aber über iobroker laufen lassen möchte, bei erkannter Bewegung dann zudem

                                          auch Licht oder was anderes schalten möchte, meine Frage wie ich die Foscam am besten über motion in VIS

                                          einbinden kann.

                                          Und ja, ich habe hier im Forum schon sehr viel darüber gelesen, auch eine Anleitung wie hier beschrieben

                                          mit v4l2loopback u.s.w. Das führte am Ende zu einer Neuinstallation da ich das mit der Einbindung eines

                                          USB Stick am PI nicht hinbekam (hängte sich am Ende auf und ich kam nicht mehr rein)

                                          Habe aktuell motion 4.0 (über die Konsole hochgeladen) weil in iobroker mir trotz mehrfacher Versuche

                                          nur eine version 0.0.1 angeboten wird. Höher kriege ich das nur über die Konsole hin. Mache ich da was falsch ?

                                          Weiterhin Admin 3.3.5, node 6.14.1, npm 3.10.10

                                          Habe zwischendurch mal versucht mittels http bzw. rtsp und bekannten widgets (z.B. CAM/Snapshot, …)

                                          das video in VIS einzubinden. Leider kläglich gescheitert, war echt frustrierend. Sicher mache ich hier einen

                                          einfachen Fehler, komme aber einfach nicht drauf.

                                          Wäre schön hier etwas Hilfe zu bekommen.

                                          Viele Grüße

                                          Rainer

                                          1 Reply Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active last edited by

                                            Hallo Rainer,

                                            direkte Einbindung von rtsp Streams in VIS habe ich nicht verwirklicht bekommen.

                                            Http Streams liefen aber mit VIS.

                                            Versuche mal ob deine Cam auch http kann, wäre einfacher.

                                            Meine rtsp Streams laufen bei mir über Motion auch mit VIS.

                                            Im Prinzip rufe ich per VIS per http meinen Raspi mit motion auf mit http://IP:Port.

                                            Dieser Port verbindet dann mit Motion , der die Cam mit dem rtsp Stream aufruft.

                                            In motion müssen erst die Dateien angepasst werden.

                                            Liegt bei mir unter etc/motion.

                                            Dies sind die motion.conf und die camera1-dist.conf.

                                            Einfacher geht es per http.

                                            Http Stream teste am besten mit Mozilla oder so, kein IE.

                                            Der VLC ist weniger geeignet da er so ziemlich alles an Syntax nimmt.

                                            Gut fürs abspielen, weniger geeignet um Streams zu testen.

                                            Syntax ist meist:

                                            http://User:PW@CamIP:Port/bla bla

                                            oder ohne PW

                                            http://CamIP:Port/blabla

                                            Dieses wäre zu testen:

                                            https://www.ispyconnect.com/man.aspx?n=foscam

                                            Gruß Ralf

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            466
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            29
                                            142
                                            40742
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo