ubuntuusers.de

ONVIF IP-Kameras und Ubuntu - gibt es da etwas brauchbares?

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

Toehah3u

Anmeldungsdatum:
27. April 2015

Beiträge: 817

Ich habe ausser

opencvr

noch nichts gefunden.

Gebaut habe ich das noch nicht.

Gibt es etwas fertiges, das out-of-the-box unter Ubuntu funktioniert?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Die Frage ist eher: Was suchst du genau?

Eventuell etwas in die Richtung von Zoneminder?

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

@sebix Ich suche etwas mit dem ich Webcams verwalten und Aufzeichnungen tätigen kann, sowas wie z.B. motion.

Das ganze noch per Web-Konfiguration wäre klasse.

Zoneminder sieht interessant aus aber da gibt es wohl nichts für Xenial?

zoneminder

😕

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11261

Wohnort: München

Das PPA bietet aktuelle stable Releases für ältere Ubuntu-Releases - zoneminder ist in den offiziellen Ubuntu-Quellen in der derzeit aktuellen Version enthalten: http://packages.ubuntu.com/xenial/zoneminder

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

@seahawk1986 Hat wohl keiner ausprobiert.

Nach einem

sudo apt-get install zoneminder

läßt sich der Dienst nicht starten.

Hatte mir soetwas, für Xenial, schon gedacht ...

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11261

Wohnort: München

duno schrieb:

läßt sich der Dienst nicht starten.

Dann schau halt ins Log, woran es scheitert - es soll ja Programme geben, die Konfiguriert werden müssen, bevor sie nutzbar sind. Wenn ich da mal bei der Anleitung für Debian spicke, ist da einige Vorarbeit für MySQL, PHP und Apache erforderlich: https://wiki.zoneminder.com/Debian_8_64-bit_with_Zoneminder_1.29.0_the_Easy_Way

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

seahawk1986 schrieb:

Dann schau halt ins Log, woran es scheitert ...

Muss ich da einen zmuser anlegen?

sudo systemctl enable zoneminder.service

-

sudo systemctl start zoneminder.service
Job for zoneminder.service failed because the control process exited with error code. See "systemctl status zoneminder.service" and "journalctl -xe" for details.

-

user@computer:~$ sudo journalctl -xe
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit cups.service has finished starting up.
-- 
-- The start-up result is done.
Jul 28 18:29:52 computer sudo[26878]: pam_unix(sudo:session): session closed for user root
Jul 28 18:30:24 computer sudo[26939]:   user : TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/bin/systemctl start zoneminder.serv
Jul 28 18:30:24 computer sudo[26939]: pam_unix(sudo:session): session opened for user root by user(uid=0)
Jul 28 18:30:24 computer systemd[1]: Starting ZoneMinder CCTV recording and surveillance system...
-- Subject: Unit zoneminder.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit zoneminder.service has begun starting up.
Jul 28 18:30:24 computer zmpkg.pl[26942]: DBI connect('database=zm;host=localhost','zmuser',...) failed: Access denied for user 'zmuser'
Jul 28 18:30:24 computer zmpkg.pl[26942]: Can't connect to db at /usr/share/perl5/ZoneMinder/Config.pm line 119.
Jul 28 18:30:24 computer zmpkg.pl[26942]: BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 119.
Jul 28 18:30:24 computer zmpkg.pl[26942]: Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
Jul 28 18:30:24 computer zmpkg.pl[26942]: BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
Jul 28 18:30:24 computer zmpkg.pl[26942]: Compilation failed in require at /usr/bin/zmpkg.pl line 48.
Jul 28 18:30:24 computer zmpkg.pl[26942]: BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 48.
Jul 28 18:30:24 computer systemd[1]: zoneminder.service: Control process exited, code=exited status=255
Jul 28 18:30:24 computer systemd[1]: Failed to start ZoneMinder CCTV recording and surveillance system.
-- Subject: Unit zoneminder.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit zoneminder.service has failed.
-- 
-- The result is failed.
Jul 28 18:30:24 computer systemd[1]: zoneminder.service: Unit entered failed state.
Jul 28 18:30:24 computer systemd[1]: zoneminder.service: Failed with result 'exit-code'.
Jul 28 18:30:24 computer sudo[26939]: pam_unix(sudo:session): session closed for user root
Jul 28 18:31:01 computer sudo[26952]:   user : TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/bin/journalctl -xe
Jul 28 18:31:01 computer sudo[26952]: pam_unix(sudo:session): session opened for user root by user(uid=0)
lines 2314-2348/2348 (END)

Das verstehe ich jetzt aber nicht unter "out-of-the-box" ...

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11261

Wohnort: München

duno schrieb:

seahawk1986 schrieb:

Dann schau halt ins Log, woran es scheitert ...

Muss ich da einen zmuser anlegen?

Wie in dem verlinkten Wiki-Artikel beschrieben musst du einen Webserver (wie z.B. Apache) mit PHP aufsetzen und dafür sorgen, dass das Programm auf eine Datenbank eines MySQL-Servers zugriff hat. Und ja, in der Standardkonfiguration erwartet zoneminder wohl, dass es sich mit einem User, der diesen Namen hat am MySQL-Server anmelden kann.

Das verstehe ich jetzt aber nicht unter "out-of-the-box" ...

Wie soll das OOTB laufen, wenn es dem Admin freisteht einen Webserver (neben Apache gäbe es ja z.B. noch lighttpd und nginx) und eine MySQL-Datenbank (was bei Ubuntu 16.04 mit MySQL oder MariaDB erfüllbar wäre) zu wählen, die natürlich bereits für andere Aufgaben genutzt werden könnten, und die nicht mal alle zwingend auf dem gleichen Rechner laufen müssen? Das ist nichts für den naiven Enduser, sondern Server-Software und dementsprechend gilt: Dokumentation/Wiki/Handbuch lesen, Nachdenken, auf die eigenen Bedürfnisse abgestimmt Konfigurieren und dann produktiv nutzen.

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

seahawk1986 schrieb:

Das ist nichts für den naiven Enduser, sondern Server-Software und dementsprechend gilt: Dokumentation/Wiki/Handbuch lesen, Nachdenken, auf die eigenen Bedürfnisse abgestimmt Konfigurieren und dann produktiv nutzen.

Ich bin aber ein naiver Enduser.

Hast du die Software erfolgreich unter Ubuntu 16.04 (Xenial) installiert und kannst du damit diverse Kameras administrieren?

😕

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11261

Wohnort: München

duno schrieb:

Hast du die Software erfolgreich unter Ubuntu 16.04 (Xenial) installiert und kannst du damit diverse Kameras administrieren?

Dazu bräuchte ich erst mal diverse Kameras...

MySQL bzw. MariaDB und Webserver wie Apache oder lighttpd habe ich natürlich schon mal aufgesetzt - und so schwer ist es ja nicht der verlinkten Anleitung zu folgen, da wird doch sowieso alles für eine einfache Musterkonfiguration erklärt.

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

seahawk1986 schrieb:

Dazu bräuchte ich erst mal diverse Kameras...

Was für ein Quatsch!

Du brauchst nur eine die ONVIF unterstützt.

Und dann wunderst du dich, wenn die Leute sagen, Linux ist sch*iße, unter Wind*ws funktioniert das alles ...

Selbst du bist nicht in der Lage ein How-To zu machen, da du weder die Software installiert hattest, noch die nötige Hardware besitzt.

Die diversen vorkompilerten Sachen bei Canoncial werden nicht getestet, das hatten mir schon die Leute von Ubuntu-Studio erklärt.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11261

Wohnort: München

duno schrieb:

Hast du die Software erfolgreich unter Ubuntu 16.04 (Xenial) installiert und kannst du damit diverse Kameras administrieren?

duno schrieb:

seahawk1986 schrieb:

Dazu bräuchte ich erst mal diverse Kameras...

Was für ein Quatsch!

Du brauchst nur eine die ONVIF unterstützt.

Mit einer könnte ich immer noch nicht diverse Kameras administrieren. Und ich habe mangels eigenem Bedarf keine ONIVIF-Kamera.

Und dann wunderst du dich, wenn die Leute sagen, Linux ist sch*iße, unter Wind*ws funktioniert das alles ...

Ich wundere mich gar nicht, aber mein Mitleid beim Saure-Trauben-Effekt hält sich in Grenzen.

Selbst du bist nicht in der Lage ein How-To zu machen, da du weder die Software installiert hattest, noch die nötige Hardware besitzt.

Warum sollte ich ein How-To machen? Die Entwickler von zoneminder haben eine ausgewachsene Webseite mit Dokumentation, die die nötigen Schritte erklärt (auch wenn es nicht explizit für die 16.04 geschrieben ist, aber den Rest kann man sich leicht zusammensuchen). Dieses Forum bietet Hilfe zur Selbsthilfe - das bedeutet, wenn du dich nicht aktiv tätig werden willst, in dem du das Material, das du bekommst verwertest, dann ist das im Zweifelsfall dein Problem.

Die diversen vorkompilerten Sachen bei Canoncial werden nicht getestet, das hatten mir schon die Leute von Ubuntu-Studio erklärt.

zoneminder stammt aus den universe Paketquellen (Abschnitt „Die-Komponenten-bei-Ubuntu“), dementsprechend gehört es nicht zu den von Canonical gepflegten Kernpakten von Ubuntu - das hat aber auf die Funktion keinen Einfluss.

Ich habe mal interessehalber die Schritte aus https://zoneminder.readthedocs.io/en/stable/installationguide/ubuntu.html#easy-way-install-zoneminder-from-a-package-ubuntu-15-x (abgesehen vom hinzufügen des PPA) abgearbeitet - die Abweichungen gegenüber der Anleitung für Ubuntu 15.04 sind eigentlich nur, dass statt dem Paket php5-gd das Paket php7.0-gd installiert werden muss (außerdem habe ich mariadb-server statt mysql-server installiert, weil ich das auf meinem VM-Image schon früher eingerichtet hatte), die php.ini findet sich in /etc/php/7.0/apache2/php.ini (statt /etc/php5/apache2/php.ini) und als Wert für date.timezone in der Datei bietet sich Europe/Berlin an. Die Apache-Konfiguration /etc/apache2/conf-enabled/zoneminder.conf habe ich so angepasst, damit cakephp und damit die API-Aufrufe funktionieren:

# Remember to enable cgi mod (i.e. "a2enmod cgi").
ScriptAlias /zm/cgi-bin "/usr/lib/zoneminder/cgi-bin"
<Directory "/usr/lib/zoneminder/cgi-bin">
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AllowOverride All
    Require all granted
</Directory>

Alias /zm /usr/share/zoneminder/www
<Directory /usr/share/zoneminder/www>
  php_flag register_globals off
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
  <IfModule mod_dir.c>
    DirectoryIndex index.php
  </IfModule>
</Directory>

Statt dem Reload im Vorletzten Befehl von Schritt 6 habe ich den Apachen neu gestartet

sudo service apache2 restart

da das laut der Ausgabe von a2enmod beim Aktivieren der Apache-Module erforderlich war.

Wie oben geschrieben habe ich nicht die nötige Hardware, um Kameras einzubinden, aber ich bin soweit gekommen, dass zoneminder läuft und das Webinterface unter http://localhost/zm erreichbar ist - und wie weiter oben geschrieben war es nur eine Frage der Konfiguration.

jms3000

Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 870

Wohnort: Schwetzingen

duno schrieb:

Und dann wunderst du dich, wenn die Leute sagen, Linux ist sch*iße, unter Wind*ws funktioniert das alles ...

Das werden die Linux-Leute nie verstehen. Aber da es auch kein Geld bei Linux zu verdienen gibt, ist auch niemand besonders heiß drauf, User nach Linux rüberzuziehen.

Toehah3u

(Themenstarter)

Anmeldungsdatum:
27. April 2015

Beiträge: 817

@seahawk1986

Ich hab das jetzt hiermit aktualsiert:

http://zoneminder.readthedocs.io/en/stable/installationguide/ubuntu.html

Die RPI-Cams mit

http://elinux.org/RPi-Cam-Web-Interface

laufen , mit MJPEG, ohne Probleme.

Probleme macht das ONVIF-Device.

ONVIF soll ja ein Standard sein.

Aber ausser einem rtsp-Stream, der manchmal unter Zoneminder (per ffmpeg) läuft oder auch nicht, kann ich in Zoneminder nichts einstellen.

Es gibt da unter Ubuntu wohl doch nichts brauchbares ... zumindest nichts, was out-of-the-box funktioniert.

jms3000

Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 870

Wohnort: Schwetzingen

Probleme macht das ONVIF-Device.

ZoneMinder itself does not generally provide the ability to send commands to cameras or receive responses. What it does is mediate motion requests from the web interface into a standard set of commands which are passed to a script defined in the control capability. Example scripts are provided in ZoneMinder which support a number of serial or network protocols but it is likely that for many cameras new scripts will have to be created. These can be modelled on the example ones, or if control commands already exist from other applications, then the script can just act as a ‘glue’ layer between ZoneMinder and those commands.

Siehe auch https://altaroca.wordpress.com/the-onvif-series/ und https://github.com/ZoneMinder/ZoneMinder/issues/146

To go about getting your device to work with Zoneminder, you must determine the: 1) video stream url 2) ptz control url for each and every command accepted by the device.

The API documentation is a valuable tool to figuring these out, as is looking directly at the html source of the device's web page and running a good ole' Wireshark session to see what is being sent to the camera.

Once you know the url's, enter the video stream url into your monitor configuration. The ptz control url's are a bit more complicated, however. You must write a ptz control script, in perl, to support the camera commands. This is often done by editing an existing ptz control script.

Lastly, if you do get this device working and post the programming steps into the forum, I will be glad to add this into the zoneminder source tree as a camera preset.

Bearbeitet von sebix:

Bitte verwende in Zukunft Listen, um die Übersicht im Forum zu verbessern!

Antworten |