// Raspberry Pi: Livestream mit dem Kamera Modul

Um das Bild des Raspberry Pi Kamera Moduls live auf einen Client zu streamen gibt es eine Menge Möglichkeiten. Ich habe es mir aber einfach gemacht und einfach die Variante mit Netcat und MPlayer aus der Doku etwas angepasst.
Auf dem Client wird dazu logischerweise Netcat und MPlayer benötigt. Der Pi muss wie hier beschrieben für das Kamera Moudul vorbereitet werden. Leider kann so nur auf einen Client, dessen IP-Adresse im Voraus bereits bekannt sein muss, gestreamt werden (was der größte Nachteil dieser Methode ist).
Mit folgenden zwei Befehlen erziele ich eine kaum spürbare Latenz (via LAN oder WLAN) und das bei einer recht guten Bildqualität (dank While-Schleife wartet raspivid so lange bis auf der Clientseite netcat läuft):

# Auf dem Pi ausführen:
pi@ardupi ~ $ CLIENT=""  # IP des Empfängers
pi@ardupi ~ $ while [ 1 ] ; do raspivid -vs -vf -w 1280 -h 720 -fps 10 -t 999999 -o - | nc $CLIENT 5001 ; sleep 5 ; done
 
# Auf dem Client ausführen:
user@client:~$ nc -l 5001 | mplayer -fps 20 -cache 430 -
  • -vs und -vf kann natürlich angepasst werden
  • natürlich kann auf dem Pi auch -w, -h und -fps erhöht werden, dann wird die Latenz aber wieder größer
  • wenn auf dem Client der Stream nicht startet, muss der Wert von cache erhöht werden

Der Trick besteht darin, die FPS auf der Clientseite höher zu setzen als auf dem Pi. Dank dem reinen „Pipen“ via netcat ist die einzige Softwarekomponente mit Cache/Buffer MPLayer, was zusätzlich die Latenz verringert. Um mit MJPG-streamer (Streamer), Browser/VLC (Client) und einer Webcam vergleichbare Latenzen zu erhalten, musste ich die Qualität erheblich herunterschrauben.

Comments

No. 1 @ 2014/05/03 13:23

Hallo!

Vielen Dank für einfache Lösung, hat bestens funktioniert. Gibt es eigentlich eine Möglichkeit den Stream auf einem Windows Client aufzuzeichnen?

Grüsse Paul

Paul
No. 2 @ 2014/05/03 14:55

Hi,

aufnehmen funktioniert. In der Kommandozeile noch - dumpstream - dumpfile c:/test.ram hinzugefügt. Leider kann man aber nicht gleichzeitig schauen. Für meinen Anwendungsfall benötige ich beides. Vielleicht eine Idee?

Grüsse Paul

No. 3 @ 2014/05/03 17:58

@Paul:Kannst du das Outputfile nicht während des Aufzeichnens mit mplayer oder VLC öffnen?
Unter Linux könnte man Pipes verwenden, das ginge dann wie z.B. hier im ersten Kommentar beschrieben. Unter Windows würde das allerhöchstens mit Cygwin gehen.
Evtl. schaffts du es aber mit einem ähnlichen Ansatz das Material auf dem Pi aufzunehmen und dann zeitgleich via netcat zu pipen bzw. zu streamen.
Für Motion gibt es mittlerweile einen Treiber für das Kameramodul. Damit müsstest du das Material Pi-seitig aufnehmen und gleichzeitg streamen können.

Leave a comment…




   ____ ______  ____   ___   ____    __   _____   ____   __  ___  _      __   __  ___  _____
  / __//_  __/ /_  /  / _ ) / __ \  / /  / ___/  / __/  /  |/  / | | /| / /  /  |/  / / ___/
 _\ \   / /     / /_ / _  |/ /_/ / / /__/ (_ /  / _/   / /|_/ /  | |/ |/ /  / /|_/ / / (_ / 
/___/  /_/     /___//____/ \___\_\/____/\___/  /_/    /_/  /_/   |__/|__/  /_/  /_/  \___/
  • E-Mail address will not be published.
  • Formatting:
    //italic//  __underlined__
    **bold**  ''preformatted''
  • Links:
    [[http://example.com]]
    [[http://example.com|Link Text]]
  • Quotation:
    > This is a quote. Don't forget the space in front of the text: "> "
  • Code:
    <code>This is unspecific source code</code>
    <code [lang]>This is specifc [lang] code</code>
    <code php><?php echo 'example'; ?></code>
    Available: html, css, javascript, bash, cpp, …
  • Lists:
    Indent your text by two spaces and use a * for
    each unordered list item or a - for ordered ones.
Zur Bereitstellung eines bestmöglichen Angebots setzt diese Webseite Cookies ein. Durch die Nutzung dieser Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden. Weitere Informationen
Hello World!

Herzlich Willkommen auf dem Blog von Christoph Winkler!
Themen sind Linux, Hardware, Raspberry Pi, das CLI, meine Projekte, das Wetter und vieles mehr…

Apache CLI GPSBabel Hardware Image of the Day Kurztipp Linux Projekt Raspberry Pi Timelapse Weather Weather.chrisge.org Webcam Wetter gpx
Kommentare
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International