Installation des mjpg-streamer.

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Da in jedem Forum ein paar Regeln eingehalten werden müssen, möchte ich diese auch vorher hier festlegen und niederschreiben. Die grundsätzliche Netiquette setze ich bei Jedem voraus. Darüber hinaus möchte ich nur spezielle Regeln ansprechen:
    - Unterlasse FullQuote sondern nutze Alternativen wie Inline-Quoting
    -> siehe auch https://de.wikipedia.org/wiki/Fullquote vs. https://de.wikipedia.org/wiki/TOFU#Alternativen_zu_TOFU
    - Unterlasse nichtssagende Antworten wie "Danke" oder "werde ich mal testen" oder ähnliches, sofern Du nicht der Threadersteller bist und einen Lösungsvorschlag angeboten bekommen hast.
    - Vermeide Doppel-Posts (zwei Beiträge von Dir hintereinander) sondern editiere wenn möglich Deine Posts.

    Danke...

    • Zunächst mal danke für die schnelle Antwort.

      Ja, die Datei ist vorhanden. Allerdings fällt mir auf, dass die mjpg_streamer Datei im Terminal als einzige weiß dargestellt wird. (Siehe Anhang)
      Hat das eventuell mit den Dateirechten zu tun? Diese sehen aus, wie folgt:
      -rw-r--r-- 1 root root 814 Feb 11 23:42 /etc/init.d/mjpg_streamer

      Der Inhalt der Datei sieht soweit eigentlich gut aus. Habe das ganze über nano im Terminal eingefügt.

    • Das bewirkt, dass die Datei grün wird (und somit - vermute ich - ausführbar). Die Dateirechte sehen dann zumindest gleich aus, wie die anderen.

      Wenn ich dann allerdings sudo update-rc.d mjpg_streamer defaults und anschließend sudo service mjpg_streamer start ausführe passiert gar nichts. Der Server wird nicht gestartet, ich bekomme nun allerdings auch keine Fehlermeldung, wie bisher.
      Ich vermute mal, weil mjpg_streamer.service jetzt existiert, nur wohl eben fehlerhaft.

      Spricht also evtl. dafür, dass die Datei irgendwie fehlerhaft ist. Wie finde ich das denn am besten heraus?
      Ich habe sie mal angehängt (und dafür in eine .txt umgewandelt).

      Habe außerdem mal die Datei von "osu" (von Seite 1 dieses Threads) ausprobiert, leider ebenso ohne Erfolg.
      Files
    • schlaxel wrote:

      Das bewirkt, dass die Datei grün wird (und somit - vermute ich - ausführbar).
      Genau. Dadurch wird die Datei für jeden ausführbar.

      schlaxel wrote:

      Wenn ich dann allerdings sudo update-rc.d mjpg_streamer defaults und anschließend sudo service mjpg_streamer start ausführe passiert gar nichts. Der Server wird nicht gestartet, ich bekomme nun allerdings auch keine Fehlermeldung, wie bisher.
      Sicher, dass der Dienst nicht gestartet ist?
      Bei mir kommt da auch keine Ausgabe.
      Ich bin ja noch vom "alten Schlag" und benutze noch die SysV-Syntax (z.B. sudo /etc/init.d/mjpg_streamer restart). Da kommt aber auch nur:

      Brainfuck Source Code

      1. Stopping mjpg-streamer...
      2. Starting mjpg-streamer...
      Sonst eventuell die Zeile 19 temporär abändern, dass die Ausgabe nicht umgeleitet werden

      Brainfuck Source Code

      1. /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -r 1024x768 -f 24 –q 80" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 9000" &
      Danach bringt ein sudo /etc/init.d/mjpg_streamer restart ungefähr die gleiche Meldungen, wie beim Hand starten. Bzw, wenn etwas falsch ist, die entsprechende Fehlermeldung.

      Wenn es denn läuft, dann wieder zurück ändern und noch sudo systemctl daemon-reload ausführen, damit systemd den Service wieder richtig verarbeiten kann.

      HTH
      --
      Wer nicht gekennzeichnete Rechtschreibfehler findet darf sie gerne behalten.
    • Okay, ich habe jetzt eine Fehlermeldung bekommen, nachdem ich die Datei wie du beschrieben hast temporär geändert habe:

      Shell-Script

      1. MJPG Streamer Version: svn rev: 3:172M
      2. ERROR: could not find output plugin output_http.so
      3. Perhaps you want to adjust the search path with:
      4. # export LD_LIBRARY_PATH=/path/to/plugin/folder
      5. dlopen: output_http.so: cannot open shared object file: No such file or directory
      Habe das Problem gegoogelt und folgendes gefunden: wiki.ubuntuusers.de/MJPG-Strea…-find-input-output-plugin

      wiki.ubuntuusers.de wrote:

      ...liegt das daran, dass ihr Verzeichnis nicht in der Umgebungsvariable LD_LIBRARY_PATH steht. Die Plugins werden nach /usr/local/lib installiert, demnach wird vor der Ausführung von MJPG-streamer folgender Befehl benötigt:


      export LD_LIBRARY_PATH=/usr/local/lib

      Habe das ausprobiert, aber es funktioniert noch immer nicht.

      Edit: Oder wie genau soll ich das export LD_LIBRARY_PATH=/usr/local/lib verwenden?
    • Du hattest es doch es Manuell am Laufen. Oder?
      Kannst du mal die Zeile komplett schreiben?

      Weil rein theoretisch wird der komplette Pfad für das Output-Plugin angegeben (/usr/local/lib/output_http.so).
      Brainstorming: Den ersten Schrägstrich vergessen? Der muss innerhalb der Anführungsstrichen sein ... -o "/usr/ ...

      Durch die Zeile/Befehl export LD_LIBRARY_PATH=/usr/local/lib wird eine Umgebungsvariable gesetzt.
      Bei mir gibt es die nicht. Was nichts heißen soll.

      Du kannst die Zeile im Start-Skript einfügen. Aber ob das was bringt?
      (Vor die lange Zeile 19)

      Sonst bliebe noch nach der Datei output_http.so zu suchen:

      Shell-Script

      1. sudo find / -name "output_http.so"

      So wird das ganze Dateisystem nach der Datei durchsucht und angezeigt, wo die Datei/en liegen.

      HTH
      --
      Wer nicht gekennzeichnete Rechtschreibfehler findet darf sie gerne behalten.
    • Du kannst die Pfade direkt in der mjpg_streamer setzen. Du musst nur schauen ob sie auch da sind.

      /usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 10 -r 640x480" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 9000 -w /usr/local/www" >/dev/null 2>&1 &

      bei mir sind sie unter /usr/local/lib/mjpg-streamer/

      Upss, es war einer schneller.
      Gruß
      Wal

      Kaum macht man es richtig, funktioniert es auch !
    • Ich hab mich heute erst wieder intensiver mit dem Thema auseinandersetzen können. Ich habe heute sehr viel ausprobiert, bekomme es aber einfach nicht zum laufen (bzw. autostarten).

      korky2 wrote:

      Du hattest es doch es Manuell am Laufen. Oder?
      Kannst du mal die Zeile komplett schreiben?
      Wenn ich folgenden Code ausführe, startet der mjpg-streamer ohne Probleme und ich kann den Stream über den Server (im Browser) abrufen.

      Shell-Script

      1. mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -r 1024x768 -f 24 –q 80" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 9000"

      So sieht die Zeile in der autostart aus, um die es wohl geht:

      Shell-Script

      1. /usr/local/lib/mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -r 1024x768 -f 24 –q 80" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 9000" >/dev/null 2>&1 &
      Die Dateien befinden sich alle dort, wo sie laut dieser Zeile eigentlich sein sollten. Habe ich nun sehr, sehr oft gecheckt.
      Interessant ist, wenn ich sudo service mjpg_streamer status eingebe, kommt folgende Nachricht. Ich meine das sollte bei funktionierendem Skript anders aussehen:

      Shell-Script

      1. sudo service mjpg_streamer status
      2. ● mjpg_streamer.service - LSB: MJPG_Streamer_autostart
      3. Loaded: loaded (/etc/init.d/mjpg_streamer; generated; vendor preset: enabled)
      4. Active: active (exited) since Fri 2019-02-15 22:50:14 CET; 54s ago
      5. Docs: man:systemd-sysv-generator(8)
      6. Process: 243 ExecStart=/etc/init.d/mjpg_streamer start (code=exited, status=0/SUCCESS)
      7. CGroup: /system.slice/mjpg_streamer.service
      8. Feb 15 22:50:14 raspberrypi systemd[1]: Starting LSB: MJPG_Streamer_autostart...
      9. Feb 15 22:50:14 raspberrypi systemd[1]: Started LSB: MJPG_Streamer_autostart.

      Wenn ich sudo /etc/init.d/mjpg_streamer restart ausführe kommt übrigens gar keine Meldung. Auch nicht, wenn ich die Datei so anpasse, dass sie im Debugmodus (ohne '>/dev/null 2>&1') ausgeführt wird. (Ich glaube da habe ich in Post 26 einen Fehler gemacht. Diese Fehlermeldung bekomme ich nur, wenn ich sudo mjpg_streamer restart ausführe.

      Danke auf jeden Fall schonmal für all eure Antworten bislang. Vielleicht hat ja jemand von euch noch eine Idee, ich werde auf jeden Fall weiter "kämpfen" :D
    • Brainfuck Source Code

      1. doorpi@raspberrypi:~ $ sudo service mjpg_streamer status
      2. ● mjpg_streamer.service - LSB: MJPG_Streamer_autostart
      3. Loaded: loaded (/etc/init.d/mjpg_streamer; generated; vendor preset: enabled)
      4. Active: active (running) since Sat 2019-02-09 11:21:27 CET; 6 days ago
      5. Docs: man:systemd-sysv-generator(8)
      6. Process: 397 ExecStart=/etc/init.d/mjpg_streamer start (code=exited, status=0/SUCCESS)
      7. CGroup: /system.slice/mjpg_streamer.service
      8. └─450 /usr/local/bin/mjpg_streamer -i /usr/local/lib/mjpg-streamer/input_uvc.so -n -f 10 -r 640x480 -o /usr/local/lib/mjpg-streamer/output_http.so -p
      9. Feb 09 11:21:28 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: Frames Per Second.: 10
      10. Feb 09 11:21:28 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: Format............: JPEG
      11. Feb 09 11:21:28 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: TV-Norm...........: DEFAULT
      12. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: www-folder-path......: /usr/local/www/
      13. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: HTTP TCP port........: 9000
      14. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: HTTP Listen Address..: (null)
      15. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: username:password....: disabled
      16. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: commands.............: enabled
      17. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: starting input plugin /usr/local/lib/mjpg-streamer/input_uvc.so
      18. Feb 09 11:23:10 raspberrypi mjpg_streamer[450]: MJPG-streamer [450]: starting output plugin: /usr/local/lib/mjpg-streamer/output_http.so (ID: 00)
      Display All
      mjpg_streamer:

      Shell-Script

      1. #!/bin/sh
      2. # /etc/init.d/mjpg_streamer
      3. ### BEGIN INIT INFO
      4. # Provides: mjpg_streamer
      5. # Required-Start: $all
      6. # Required-Stop: $all
      7. # Default-Start: 2 3 4 5
      8. # Default-Stop: 0 1 6
      9. # Short-Description: MJPG_Streamer_autostart
      10. ### END INIT INFO
      11. start()
      12. {
      13. modprobe bcm2835-v4l2
      14. sleep:2
      15. echo "Starting mjpg-streamer..."
      16. /usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 10 -r 640x480" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 9000 -w /usr$
      17. # /usr/local/bin/mjpg_streamer -i /usr/local/lib/mjpg-streamer/input_uvc.so -n -f 10 -r 1024x576 -o /usr/local/lib/mjpg-streamer/output_http.so -p 9000 -w /usr/$
      18. }
      19. stop()
      20. {
      21. echo "Stopping mjpg-streamer..."
      22. kill -9 $(pidof mjpg_streamer) >/dev/null 2>&1
      23. }
      24. case "$1" in
      25. start)
      26. start
      27. ;;
      28. stop)
      29. stop
      30. ;;
      31. restart)
      32. stop
      33. start
      34. ;;
      35. *)
      36. echo "Usage: $0 {start|stop|restart}"
      37. ;;
      38. esac
      39. exit 0
      Display All
      Gruß
      Wal

      Kaum macht man es richtig, funktioniert es auch !
    • Kurzes Update meinerseits:

      Es funktioniert jetzt. Habe sehr viel rumprobiert und letztendlich entdeckt, weshalb es nicht funktionierte.

      Die Zeile sieht jetzt folgendermaßen aus:

      Shell-Script

      1. mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -r 1024x576" -o "/usr/local/lib/output_http.so -p 9000 -w /usr/local/www" >> /var/log/mjpg_streamer_upstart.log 2>&1
      Also nur mjpg_streamer -i anstatt /usr/local/bin/mjpg_streamer -i.

      Ich weiß ehrlich gesagt nicht, weshalb es so (ohne den Pfad) funktioniert, aber es funktioniert.

      Vielen Dank @korky2 und @Wal ihr wart mir eine große Hilfe!
    • Hallo
      ich hab das gleiche Problem wie Manipi aus Beitrag 7

      patch: **** malformed patch at line 17: @@ -418,8 +422,6 @@

      Ich nutze Raspbian Buster lite, Installation hat bis zum Patch funktioniert. Die Patchdatei hab ich überprüft, Inhalt ist korrekt.

      Als Neueinsteiger weiss ich nicht wo ich ansetzen muss. Deshalb bitte ich um Hilfe
    • Hallo,

      ich bin dabei DoorPi auf Basis "Rasbian Buster" (nicht -lite) neu aufzusetzen.
      DoorPi läuft aber ich bekomme einfach die Installation des MJPG-Streamers nicht hin.
      Ich habe mich an die Anleitung von NEA gehalten und bis inklusive
      patch -p0 < input_uvc_patch
      funktioniert es auch
      aber nach Eingabe von
      make USE_LIBV4L2=true clean all
      kommt diese Meldung



      Ich habe mal Google kontaktiert und dort wurde von ähnlichen Fehlern in anderen Anwendungen gesprochen,
      weil wohl mit dem neuen Kernel von Buster die Strukturen
      struct statx_timestamp
      und
      struct statx
      bereits inkludiert sind und es dadurch zu einem Doppelimport/Aufruf kommt.

      Wenn ich den Fehler einfach hinnehme sieht es bei
      sudo make DESTDIR=/usr/local install
      folgendermaßen aus



      Die Eingabe von
      CD
      sudo modprobe bcm2835-v4l2
      ergeben keine Info aber das Ergebnis von
      mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -r 1024x768 -f 24 –q 80" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 9000"

      ist


      Kann mir jemand helfen.
      Die Ausgabe als JPG ist mir mit einer Installation einer älteren/Testversion von MJPG-Steamer gelungen
      aber ich brauche den MJPG-Stream.

      Danke für eure Hilfe
    • Da ich dachte es hängt mit Raspbian Buster zusammen, hab ich zusätzlich Raspbian Stretch Lite eingerichtet.

      Ich hab leider den gleichen Fehler in Zeile 17 beim patch.

      Entweder wurden durch update/upgrade/dist-upgrade Teile geladen, die den gleichen Fehler zur Folge haben oder es ist bei mir irgendein prinzipielles Problem.

      Übrigens wurde sowohl unter Buster als auch Stretch eine Version 182 angegeben.

      Wer hat einen Rat für mich?
    • Ich habe ja nicht viel Ahnung, aber IMHO muss es, für den Patch, die Version unbedingt die 174 sein.

      Soweit ich das von derSourceforge- Seite lesen konnte, soll man github.com/jacksonliam/mjpg-streamer verwenden. Hier wäre nach deren Seite auch kein Patch notwendig.

      Keine Ahnung, ob das unter Buster funktioniert.

      Viele Grüße
      Olaf
      --
      Wer nicht gekennzeichnete Rechtschreibfehler findet darf sie gerne behalten.
    • Hallo dtp,

      nach inzwischen unzähligen Stunden habe ich mich von MJPG-streamer verabschiedend (zumal eh keine weitere Entwicklung lt. Homepage)
      und deinen Rat befolgt.
      Das RPI-Cam_Interface ist installiert, läuft und sieht gut aus.
      Ich habe allerdings den html-Ordner mit ausgewählt.

      Wie kann ich den Stream nun weiterleiten oder als Datei speichern.
      Es sollen nur Aufnahmen gemacht werden wenn Bewegung erkennbar.



      Danke
      Mike
    • Einen simplen Snapshot des Kamerabilds erhältst du mit

      Source Code

      1. http://<IP-Adresse des RPi_Cam_Web_Interfaces>:<freigegebener Port>/cam.jpg

      also z.B. 192.168.0.21:8181/cam.jpg.

      Schau dir mal meine Shellskript-Beispiele an. Da hole ich mir z.B. einen Screenshot über

      Source Code

      1. wget -O /home/pi/Haustürklingel.jpg http://192.168.0.21:8181/cam.jpg
      und schicke ihn mir anschließend per Pushover bzw. Telegram.

      Videostreams sollten sich mit

      Source Code

      1. http://<IP-Adresse des RPi_Cam_Web_Interfaces>:<freigegebener Port>/cam_pic_new.php?
      anzeigen lassen.

      Die Bewegungserkennung des RPi_Cam_Web_Interfaces ist zwar gut, aber ich weiß nicht, ob ich das für eine Kamera an der Haustür oder im Briefkasten realisieren würde, weil es vermutlich zu viele Fehlauslösungen geben dürfte. Ich benutze die Bewegungserkennung daher nur für das Innere unseres Briefkastens. Hört sich vielleicht komisch an, funktioniert aber prächtig. Hab das mal hier genauer beschrieben.

      Gruß,

      Thorsten

      The post was edited 1 time, last by dtp ().