Installation des mjpg-streamer.

  • Installationschritte des mjpg-streamers.


    Code
    1. sudo apt-get -y update && sudo apt-get -y upgrade
    2. sudo apt-get install build-essential libjpeg-dev imagemagick subversion libv4l-dev checkinstall
    3. sudo modprobe bcm2835-v4l2


    Sollte es hier zu Problemen kommen ist wahrscheinlich die Kamera nicht aktiviert. „sudo raspi-config“

    Code
    1. raspistill -o /tmp/test.jpg
    2. svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code
    3. cd mjpg-streamer-code/mjpg-streamer


    Als nächstes erstellen wir einen Patch. Dieser wird benötigt damit der streamer mit motion jpg umgehen kann und wir auch eine Ausgabe im Webinterface sehen. Ohne diesen Patch bekommt man nur ein Bild als yuv Ausgabe und die Auslastung des Pi steigt enorm an. Deswegen ist der nächste Schritt sehr wichtig!

    Code
    1. sudo nano input_uvc_patch


    Diesen Inhalt per Drag and Drop einfügen.

    Hier bitte auf die Formatierung des codes aufpassen. Es gab deswegen schon so manches Problem.


    Ich habe mal den Inhalt des patches in eine .txt Datei eingefügt. hier muß nur noch die Endung .txt entfernt und auf den Raspi übertragen werden.


    Wir führen anschließend diese Befehle aus damit der Patch installiert wird und verlassen danach das Verzeichnis wieder.

    Code
    1. patch -p0 < input_uvc_patch
    2. make USE_LIBV4L2=true clean all
    3. sudo make DESTDIR=/usr/local install
    4. cd


    Nun geben wir folgendes ein, nur um zu schauen das auch alles richtig installiert wurde und um den neuen Treiber V4L2 zu starten.

    Code
    1. sudo modprobe bcm2835-v4l2

    Hier dürfen keine Fehlermeldungen erscheinen.



    Jetzt kann der Streamer gestartet werden, mit folgendem Befehl:

    Code
    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"

    Hier wird ein kleiner Webserver gestartet der unter Deiner Adresse des raspberypi zu erreichen ist aber mit der Port Nummer 9000.
    Bsp.:
    192.168.178.200:9000


    Man kann den Stream natürlich auch noch zusätzlich in eine Datei leiten zb. so:

    Code
    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" -o "/usr/local/lib/output_file.so -f /backup/record-video -d 15000"

    Hier wird der Stream in den Ordner /backup/record-video abgelegt.


    Man kann auch die Parameter verändern zb. die Auflösung (Parameter -r) bzw. die Frames (Parameter -f) und die Quality (Parameter -q)
    Es gibt noch mehr Parameter doch hier verweise ich auf folgende Web Seite: Dokumentation



    Die Hilfe zu allen Plugins kann mit:

    Code
    1. mjpg_streamer -i "<Input-Plugin> --help"

    aufgerufen werden.



    Wenn man den mjpg_streamer beim booten automatisch gestartet haben möchte der sollte folgende Datei anlegen:

    Code
    1. sudo nano /etc/init.d/mjpg_streamer


    Mit diesem Inhalt.


    Hiermit das script ausführbar machen.

    Code
    1. sudo chmod +x /etc/init.d/mjpg_streamer


    Mit diesem Befehl wird die eben erstellte Autostart-Datei in den Autostart eingetragen:

    Code
    1. sudo update-rc.d mjpg_streamer defaults


    Danach kannst Du es bequem per:

    Code
    1. sudo service mjpg_streamer start

    starten.


    Beenden kannst Du es mit:

    Code
    1. sudo service mjpg_streamer stop


    Sollten Fragen oder Anregungen sein dann stellt diese einfach, ich versuche diese zu beantworten.


    ............................................................................................................................................................................................................................................................................


    Neue Einstellungsmöglichkeiten der PiCam oder der USB-Cam



    Mittlerweile habe ich eine Möglichkeit gefunden um zusätzliche Einstellungen für die Picam oder USB-Cam zu setzen diese ist zwar etwas umständlich aber ich habe es bis jetzt nicht anders hinbekommen.


    Wir installieren ein tool hiermit:

    Code
    1. sudo apt-get install uvcdynctrl


    Anschliesend wollen wir wissen welche Einstellungen sich verändern lassen:

    Code
    1. uvcdynctrl -cv


    Die Meldung sieht dann folgendermassen aus:

    Lasst Euch nicht iritieren von den Fehlermeldungen.
    Man kann erkennen das man die Rotation sowie Horizontaler bzw. Vertikaler Flip und auch viele andere Einstellungen angepasst werden können.



    Aber konzentrieren wir uns auf die Funktion Rotation:
    Wir geben nun folgendes ein:

    Code
    1. uvcdynctrl -s 'Rotate' 90


    Et voila, das Bild hat sich um 90° gegen den Uhrzeigersinn gedreht.


    Ich hoffe ich konnte Euch/Dir damit helfen.

    Dateien

    Mit freundlichen Grüßen


    Andreas

    2 Mal editiert, zuletzt von Nea () aus folgendem Grund: Zusätzliche Einstellungen der angeschlossenen Kameras am Pi hinzugefügt.

  • Hallo,


    ich habe nun mehrfach das hier beschriebene Szenario durch gespielt.


    Ich bekomme beim patchen des Skripts immer patch: **** malformed patch at line 18: @@ -418,8 +422,6 @@
    In alten Beiträgen findet man den Ansatz, das wohl die Formatierung nicht stimmt!?!


    Leider macht mein mjpg-streamer immer noch Zicken. Systemlast > 90%


    Für eure Hilfe wäre ich recht dankbar.



    Dankeschön, jbadmin

  • Das liegt daran das Du die Ausgabe als yuv hast. Wenn der Patch sauber eingespielt wird geht die Systemlast wieder runter aber auch nur in dem Du das -y aus dem Aufruf weg lässt.


    Habe jetzt oben nochmal den Formatierungungsfehler behoben, auf jedenfall funktioniert so der patch jetzt. Ich habe den Patch eben gerade nochmal ausgeführt.


  • Verwende die txt Datei im Anhang des Posts. Dann geht's. Copy und Paste aus dem Thread führt zu diesem Fehler.


    P.S. beim Einrichten des mjpg-streamers als autostart fehlt noch ein Ausführungsrecht:


    Code
    1. sudo chmod +x /etc/init.d/mjpg_streamer
  • Bitte - BITTE - BITTE - BITTE
    Verzichtet auf die (Full-)Quotes, die z.B. bei dieser Diskussion hier vollkommen unnütz sind!
    Der Thread geht über etliche Bildschirmseiten und jeder Leser muss ewig scrollen, obwohl das nur ein einfachen PingPong an Posts ist...


    Da kann man machen wenn mehrere Diskussionen in einem Thread laufen oder wenn jemand einen früheren Punkt wieder aufgreifen will...

  • Ich habe gerade versucht den mjpg_streamer mit der Raspi Cam ans Laufen zu kriegen. Es läuft alles, sogar mit der Raspi Cam, was mit bis gestern unbekannt war. Die Anleitung war auch verständlich. Sehr schön :-)


    Eine kleine Sache.



    Code
    1. raspistill -o /tmp/test.jpg


    Geht erst bei der raspicam wenn man das "make" mit V4L2" hinter sich hat. Ggf. ein Hinweis in die Anleitung. Danke


    Dann habe ich versucht Snapshot in Verbindung mit mailto zu nutzen, also eine Mail mit Bild als Anhang. Das geht nicht.


    Einmal ist noch ein Fehler im aktuellen mailto.py script. Zeile 71 "retcode = subprocess.call(command, shell=True)" muss "retcode = sub.call(command, shell=True)" heißen, da im Import der Alias so benannt wurde.


    Dann frage ich mich warum man nicht anstelle der "fswebcam" Geschichte die Snapshot-Funktion vom Streamer nehmen kann? So z. B.

    Code
    1. command = "wget http://localhost:9000/?action=snapshot -O " + snapshot_file




    Bei mir geht das wunderbar. Wäre das machbar? Oder als Alternative zumindest. Man könnte ja einen Parameter ans Script anfügen um mit älteren Installationen kompatibel zu bleiben

  • Was mich wundert ist das bei dir der Aufruf "raspistill" erst nach dem "make" ging. Dieser Aufruf hat noch nichts mit dem mjpg-streamer zu tun. Hast du Raspbian lite installiert?

  • Hallo Nea.
    Super Beschreibung. Hat bei mir auch alles wunderbar geklappt, jedoch bleibt auf der Webseite der LiveStream leer. Kein Bild, obwohl die LED an der Kamera leuchtet. Wo genau könnte der Hund begraben liegen?
    Danke für eure Lösungsvorschläge.


    P.s.

    Code
    1. raspistill -o /tmp/test.jpg


    geht problemlos....

  • Versuche mal das hier, darauf darf keine Fehlermeldung kommen.

    Code
    1. sudo modprobe bcm2835-v4l2


    Danach versuche mal das hier:

    Code
    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"
  • Hallo Nea.


    der Modprobe-Befehl bringt keinen Fehler. Beim starten des mjpg-Streamers scheint alles zu funktionieren:

    Code
    1. pi@doorPi:/usr/local/etc/DoorPi/tools $ 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"
    2. MJPG Streamer Version: svn rev: 3:172M
    3. i: Using V4L2 device.: /dev/video0
    4. i: Desired Resolution: 1024 x 768
    5. i: Frames Per Second.: 24
    6. i: Format............: MJPEG
    7. o: www-folder-path...: /usr/local/www/
    8. o: HTTP TCP port.....: 9000
    9. o: username:password.: disabled
    10. o: commands..........: disabled


    Die Oberfläche ist über die IP auch erreichbar, jedoch wird kein Bild angezeigt. Habe es auch schon über VLC versucht. :huh:

  • brunh
    Das wird dann auch nicht funktionieren.


    sgaechter
    Hmm, da fällt mir noch eines ein. Starte mal den mjpg-streamer mit folgendem Aufruf:

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


    Nicht erschrecken die CPU Auslastung liegt dann so bei 80 - 90%, je nach verwenden Pi.
    Wenn das hier funktioniert dann ist der Patch nicht installiert.

  • Hey Leute...


    fettes Lob! Super Anleitungen!!!


    hab aber ein kleines Problem...


    habe den doorpi nach anleitung installiert -> lief auch...


    danach den mjpg-streamer -> läuft :-) auch nach neustart...
    aber leider der doorpi nicht mehr...
    wo liegt den da das problem?
    im anhang ist, was es mir im terminal anzeigt...


    edit: jetzt gehts... weiss aber nicht was war :-D


    habe allerdings noch ein problem mit dem piface... wie bekommt man das zum laufen?

    RaspberryPi B+, PiFace, Raspi NoIR Cam, USB-Sound, FritzBox 7390, FritzFon C4, Jessie, RPi-Cam Web-Interface, Telegram

    Einmal editiert, zuletzt von j0j0182 ()

  • Das freut mich, manchmal sind es eben nur kleinigkeiten.


    Du musst aber wieder den Parameter -y aus dem Aufruf des streamers entfernen ansonsten hast Du nur YUV Ausgabe und der Pi hat eine Auslastung von 80 - 90%.


  • Hallo nochmal,
    ich möchte das RPi-Cam-Web-Interface ausprobieren...


    oder ist das eine schlechte Idee?


    Das würde mich auch interessieren?
    Die Cam ist unterwegs und über Ostern gehts daran sie zu installieren.


    Wenn ich richtig gelesen habe, macht der MPJG-Streamer nur den Stream. Das RPi-Cam-Web-Interface kann aber mehr (Bewegungserkennung und Aufnahmefunktion). Oder irre ich?


    Die Arbeit müsste ja in beiden Fällen der Grafikprozessor übernehmen, oder git es Unterschiede bei der Hauptprozessorlast?