Ankündigung

Einklappen

Einladung zum ersten loxforum.com Community Treffen ist online

Mehr anzeigen
Weniger anzeigen

überwachungskameras von Hikvision - mjpeg stream....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • überwachungskameras von Hikvision - mjpeg stream....

    Hallo

    hat jemand von euch irgendeine ip kamera von HIKvision erfolgreich (live bild) integrieren können?

    bei mir scheiterts am abrufen des mjpeg streams:

    Abrufbar mittlerweile mit:
    http://IP/Streaming/channels/102/httppreview

    --> im browser und per vlc (wird auch als mjpeg angezeigt) klappts -- nur per loxone web gibts den "error no video"


    alles was funktioniert (über loxone) ist die JPG ansicht, welche natürlich etwas unflüssig ist aufgrund vom datenaufkommen:

    http://IP/Streaming/channels/1/picture

    es ist egal welchen channel man wählt, es wird immer das JPG in der vollen Main stream auflösung verwendet.


    vielleicht für alle die die komplette API doku brauchen: http://overseas.hikvision.com/en/download_383.html -> unter: Home>Support>Download>Regional Materials>Africa ..gibts was man braucht.

    wobei der zugriff auf den mjpeg stream dort auch nicht dokumentiert war...


    bin für jeden tipp dankbar.

  • #2
    Hallo,
    mit diesen Einstellungen läuft es bei mir. Du musst nur darauf achten, dass Du den Substream wählst und dieser auf MPEG konfiguriert ist.

    Gruss

    Jörg

    Kommentar


    • #3
      Und generell lassen sich mithilfe dieser Website die Streams ganz gut aufspüren
      http://www.ispyconnect.com/man.aspx?n=hikvision
      DoorPi DIY Türsprechstelle how to

      Kommentar


      • #4
        danke!
        hab genau die selben einstellungen.

        bin grad draufgekommen, dass der stream (httppreview - mjpeg) sehrwohl in der loxone APP angezeigt wird.
        aber Loxone Web - keine chance bisher...

        Kommentar


        • #5
          ...hast du auch schon auf die neue web Visualisierung umgestellt?

          Kommentar


          • #6
            Wichtig ist noch zu wissen, dass der MJPEG-Stream der Hikvision-Kameras nur von einem Teilnehmer zur selben Zeit abgerufen werden kann. Alle anderen bekommen eine Fehlermeldung. Der normale Videostream kann von bis zu 6 Teilnehmern gleichzeitig abgerufen werden.

            Da ich 3 iPads an der Wand hängen habe und alle 3 beim Klingeln das Kamerabild über die Türsteuerung anzeigen sollen, habe ich noch einen Raspberry mit VLC zwischengeschaltet. Der VLC holt den MJPEG-Stream von der Kamera ab und streamt in ohne Veränderung wieder ins Netzwerk. Die gleichzeitigen Teilnehmer am VLC-Stream sind unbegrenzt. Da der VLC nichts umkodieren muss ist selbst auf einem RaspPi1 die Systemlast absolut gering.
            Bitte stellt Eure Anfragen nicht per PN, ich bevorzuge das Fragen/Antworten im Forum, damit alle etwas davon haben. Vorher lesen: https://www.loxforum.com/forum/proje...en-bitte-lesen

            LoxBerry: https://www.loxwiki.eu/display/LOXBERRY/LoxBerry

            Kommentar


            • Davidmei
              Davidmei kommentierte
              Kommentar bearbeiten
              Und über was nimmst du auf? Also über welchen Servern oder welches Gerät?

            • Prof.Mobilux
              Prof.Mobilux kommentierte
              Kommentar bearbeiten
              Über mein NAS (Netgear). Da gibt es ein Plugin für die Kameraaufzeichnung.

            • Davidmei
              Davidmei kommentierte
              Kommentar bearbeiten
              Gibt es dazu eine Anleitung, wie ich in den Rapsberry einstellen muss damir das geht`?
              Kann 1 Raspberry auch 3 Kamereas weiter streamen?

          • #7
            @Prof.Mobilux

            danke!

            aber das weiß ich schon, daran liegts leider nicht.

            ich setze grad eh auch die vlc über raspberry variante auf.

            wobei ich auch die kompakte mjpeg-streamer veriante probieren wollte.. wobei ich nicht weiß, ob man nicht nur von lokalen source streamen kann sondern auch von rtp oder http..

            aber zurück zu VLC - wie rufst du den auf?

            z.b: cvlc http://IPADR/Streaming/channels/1/httppreview --sout '#standard{access=http,mux=ts,dst=:8090}'

            ?

            oder verwendest du RTSP statt http?

            8 bis 9% ist die CPU auslastung aktuell beim normalen / singlecore raspberry ohne übertaktung. das wär okay

            ---update:
            ..wobei leider gibts weder über die Lox web visu noch über die app ein bild mit dem raspberry vlc als quelle .. per Chrome Browser direkt gibts nur das file zum download.

            danke!
            lg
            andreas
            Zuletzt geändert von c_future; 22.Dez.2015, 15:32.

            Kommentar


            • #8
              dank Mobilux klappts jetzt :-)

              falls irgendwann irgendwer danach sucht:

              so wird der vlc per commandline richtig gestartet um auch in allen web und app visualisierungen zu funktionieren:


              Code:
              cvlc -R http://user:passwort@IPADRESSE/Strea.../1/httppreview --sout='#std{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=: 8090/live.mjpeg}' --sout-keep
              indemfall ist die client config: http://192.168.0.51:8090/live.mjpeg


              warums nicht direkt von der kamera geht, ist mir jetzt mal wurscht.. dauerlauf raspberry ist ohnehin vorhanden. :-)
              Zuletzt geändert von c_future; 24.Dez.2015, 11:03.

              Kommentar


              • #9
                Habe jetzt auch herausgefunden warum bei mir per VLC mit der neuen App V6 und dem neuen Webinterface keine Verbindung zu Stande kam: Die neue App kommt mit der Authentifizierung des VLC (User/Pass) nicht klar. Die Classic App konnte es noch... Nachdem ich die Authentifizierung komplett deaktiviert habe geht es jetzt auch in der App V6.

                Hab's Loxone per Ticket gemeldet.
                Bitte stellt Eure Anfragen nicht per PN, ich bevorzuge das Fragen/Antworten im Forum, damit alle etwas davon haben. Vorher lesen: https://www.loxforum.com/forum/proje...en-bitte-lesen

                LoxBerry: https://www.loxwiki.eu/display/LOXBERRY/LoxBerry

                Kommentar


                • #10
                  ok! ..hab beim vlc stream gar kein passwort eingerichtet -- nur von der Cam -> vlc aber weiter nicht.. deswegen hat das dann auch gleich geklappt.. sorry -- habs anders nicht mehr probiert.

                  übrigens -- wenn du den VLC prozess automatisch neustarten möchtest, fall er mal crashed:

                  Code:
                   respawn process on kill:
                    vi /etc/inittab
                    #respawn vlc service on crash:
                    7:2345:respawn:/usr/bin/sudo -u pi /bin/sh /home/pi/ipcam/start-ip-cam-vlc.sh
                  ..wobei die id "7" bei mir die nächst frei war, da müsste jeder selbst im file schaun.
                  und der VLC start mit all den parametern ist in dem *.sh file drinnen.

                  eleganter, aber aufwendiger gehts auch per /etc.init.d/ script - also als service konfigurieren und dann per cronjob das pid file nach existenz alle 5 minuten überprüfen -- wenn jemand die vorlagen braucht, kann ichs gerne schicken.



                  nächster punkt bei mir ist das "scharfmachen" per http API der kamera -- bzw der bewegungserfassung über loxone hausstatus alarmanalge funktion)

                  Kommentar


                  • #11
                    Zitat von c_future Beitrag anzeigen
                    übrigens -- wenn du den VLC prozess automatisch neustarten möchtest, fall er mal crashed:
                    Genial :-) Habe das immer per Watchdog gemacht (also ein Skript, was per Cronjob permanent guckt ob der Prozess noch da ist). Ist so wesentlich einfacher!

                    nächster punkt bei mir ist das "scharfmachen" per http API der kamera -- bzw der bewegungserfassung über loxone hausstatus alarmanalge funktion)
                    Das wollte ich auch mal machen, in dann aber an 2 Dingen gescheitert:

                    1. Die Cam kann keine URL aufrufen bei Alarm (einige andere, z. B. Mobotix können das). Man muss also den Alarmausgang mit einem Eingang der Loxone verbinden (unschön)
                    2. Du hast einen haufen Fehlalarme, als Eingang für die Alarmanlage taugt es also nicht
                    Bitte stellt Eure Anfragen nicht per PN, ich bevorzuge das Fragen/Antworten im Forum, damit alle etwas davon haben. Vorher lesen: https://www.loxforum.com/forum/proje...en-bitte-lesen

                    LoxBerry: https://www.loxwiki.eu/display/LOXBERRY/LoxBerry

                    Kommentar


                    • #12
                      Mmhhh, Raspbian 8.0 basiert mittlerweile auf systemd und nicht mehr auf sysvinit. Da gibt es keine /etc/inittab mehr :-(

                      Das Ganze wird jetzt über einzelne Skripte in /etc/init konfiguriert. Sieht aber etwas komplexer aus.... Da muss ich mich erst einmal durcharbeiten...
                      Zuletzt geändert von Prof.Mobilux; 24.Dez.2015, 13:23.
                      Bitte stellt Eure Anfragen nicht per PN, ich bevorzuge das Fragen/Antworten im Forum, damit alle etwas davon haben. Vorher lesen: https://www.loxforum.com/forum/proje...en-bitte-lesen

                      LoxBerry: https://www.loxwiki.eu/display/LOXBERRY/LoxBerry

                      Kommentar


                      • #13
                        hab am alten raspberry im keller noch WHEEZY und nicht JESSIE laufen .. aber per init.d is eh netter.

                        so schaut das init.d script file aus (bitte beachten, dass alle script files executierbar sein müssen .. ("chmod +x"):

                        root@raspi:~# cat /etc/init.d/vlc-stream.sh
                        Code:
                        #!/bin/sh
                        ### BEGIN INIT INFO
                        # Provides:          myservice
                        # Required-Start:    $remote_fs $syslog
                        # Required-Stop:     $remote_fs $syslog
                        # Default-Start:     2 3 4 5
                        # Default-Stop:      0 1 6
                        # Short-Description: VLC ip camera service
                        # Description:       VLC streaming and distributing ip cam content
                        ### END INIT INFO
                        
                        # Change the next 3 lines to suit where you install your script and what you want to call it
                        DIR=/home/pi/ipcam
                        DAEMON=$DIR/start-ip-cam-vlc.sh
                        DAEMON_NAME=VLC_video-stream
                        
                        # Add any command line options for your daemon here
                        DAEMON_OPTS=""
                        
                        # This next line determines what user the script runs as.
                        # Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python.
                        DAEMON_USER=pi
                        
                        # The process ID of the script when it runs is stored here:
                        PIDFILE=/var/run/$DAEMON_NAME.pid
                        
                        . /lib/lsb/init-functions
                        
                        do_start () {
                            log_daemon_msg "Starting system $DAEMON_NAME daemon"
                            start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
                            log_end_msg $?
                        }
                        do_stop () {
                            log_daemon_msg "Stopping system $DAEMON_NAME daemon"
                            start-stop-daemon --stop --pidfile $PIDFILE --retry 10
                            log_end_msg $?
                        }
                        
                        case "$1" in
                        
                            start|stop)
                                do_${1}
                                ;;
                        
                            restart|reload|force-reload)
                                do_stop
                                do_start
                                ;;
                        
                            status)
                                status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
                                ;;
                        
                            *)
                                echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
                                exit 1
                                ;;
                        
                        esac
                        exit 0

                        du musst nur folgendes anpassen:
                        Code:
                        DIR=/home/pi/ipcam
                        DAEMON=$DIR/start-ip-cam-vlc.sh
                        DAEMON_NAME=VLC_video-stream
                        
                        DAEMON_USER=pi    --> localer user mit dem VLC script gestartet werden soll.. root is nicht optimal.

                        wenn der process nachm booten automatisch gestartet wird, dann wird ein PID file abgelegt und das wird per cron gecheckt:

                        der cronjob eintrag: (alle 5 mins)
                        als pi user:
                        Code:
                        crontab -e
                        und folgendes eintragen:
                        Code:
                        */5 * * * * cd /home/pi/ipcam && sh checkpid.sh

                        und das script dazu:

                        Code:
                        root@raspi:~# cat /home/pi/ipcam/checkpid.sh
                        #!/bin/sh
                        
                        parentpid=$(cat /var/run/VLC_video-stream.pid)
                        childpid=$(pgrep -P $parentpid)
                        if [ -z "$childpid" ]; then
                                sudo service vlc-stream.sh start
                        else
                                echo "vlc running"
                        fi



                        das wars! :-)

                        Kommentar


                        • #14
                          zum punkt: scharfmachen der kamera:

                          kennst du den http call zumindest schon zum aktivieren vom überwachungsmodus?

                          ich hätt den rest so gelöst: ein paar 100 mb vom filesystem vom raspberry als NFS share oder per FTP freigeben, die kamera dort die bilder ablegen lassen

                          und jetzt:

                          lösung a)
                          die kamera weiß nix vom alarmanlagen zustand der loxone:
                          raspberry prüft das shared filesystem auf änderungen / neue files und holt sich den status der alarmbereitschaft per http request von der loxone und triggered je nach dem mails oder nicht

                          lösung b)
                          die kamera kann per http api scharf gemacht werden für bewegungserkennung und auch wieder deaktiviert werden:
                          so bald fotos auf dem raspberry landen wird alamiert mit attachement.


                          damit der speicher vom NFS share am raspberry nicht voll wird, per cronjob ein kleines script laufen lassen, welches die verzeichnis größe gegen den gesetzten max wert checkt und aufräumt.

                          so oder so .. geht sicher irgendwie.. über die feiertage :-)

                          Kommentar


                          • #15
                            hier eine bessere version vom checkpid.sh
                            :-)

                            es wird geprüft ob die kamera im netzwerk überhaupt erreichbar ist bevor der vlc player gestartet wird.
                            genauso wird der vlc player gestoppt, wenn die kamera abgeschalten oder nicht erreichbar ist.

                            wenn man alamieren möchte, wenn die kamera offline ist, dann am besten über loxone und ping baustein + mailer.

                            einfach ip adresse anpassen:
                            Code:
                            #!/bin/sh
                            
                            parentpid=$(cat /var/run/VLC_video-stream.pid)
                            childpid=$(pgrep -P $parentpid)
                            
                            if [ -z "$childpid" ]; then
                                ping -q -c2 192.168.0.57 > /dev/null
                                if [ $? -eq 0 ]; then
                                    echo "kamera online"
                                    echo "vlc wird gestartet"
                                    sudo service vlc-stream.sh start
                                else
                                    echo "Kamera offline, vlc wird nicht gestartet"
                                    fi
                            else
                                echo "vlc running"
                                ping -q -c2 192.168.0.57 > /dev/null
                                if [ $? -eq 1 ]; then
                                    echo "kamera offline"
                                    kill $childpid
                                    kill $parentpid
                                    echo "vlc process gestoppt"
                                else
                                    echo "kamera online"
                                    fi
                                
                            fi
                            Zuletzt geändert von c_future; 27.Dez.2015, 02:14.

                            Kommentar

                            Lädt...
                            X