Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi 2 - Probleme mit h264-Stream via Kamera


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rabesam (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Ich habe einen Raspberry Pi 2, mit dessen Hilfe ich gerne Kamerabilder 
(RasPiCam NoiR) ins LAN streamen würde (wie bei einer IP-Kamera). Da 
MJPEG zu immense Datenraten verlangt, nutze ich h264 via VLC bzw. 
Live555. Der stream wird von einem Rechner abgerufen, auf dem VLC unter 
Windows läuft.

Via VLC am Raspberry streame ich über den allseits bekannten 
Kommandozeilenaufruf:
raspivid -o - -t 0 -n -w 1920 -h 1080 -fps 5| cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264       

Via live555 nutze ich diesen Ansatz:
http://www.raspberrypi.org/forums/viewtopic.php?t=52071&p=433852


Bei beiden Varianten ist es jedoch nun so, dass es - relativ unabhängig 
von der Auflösung (also auch bei 800x600/10fps) zu Aussetzern kommt. Die 
VLC-Konsole am Betrachter-PC spricht folgendes:

main warning: picture is too late to be displayed (missing 72 ms)
main warning: picture is too late to be displayed (missing 36 ms)
main warning: picture is too late to be displayed (missing 72 ms)
main warning: picture is too late to be displayed (missing 67 ms)
main warning: picture is too late to be displayed (missing 103 ms)
main warning: picture is too late to be displayed (missing 139 ms)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1000 ms)
main error: ES_OUT_RESET_PCR called
main error: pictures leaked, trying to workaround
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1477 ms)
main error: ES_OUT_RESET_PCR called
(Grauer Bildschirm, Stream neu laden)

Anscheinend kommt der Raspberry da nicht hinterher. Aber wie kann das 
selbst bei 800x600px der Fall und RasPi-Quadcore sein? CPU- und 
Speicherauslastung bewegt sich je nach Auflösung maximal im knapp 
zweistelligen Prozentbereich.

Die getesteten Datenraten sind zwischen weit unter einem MBit (800x600) 
bis hin zu 10 MBit angesiedelt, überall das gleiche Verhalten. Ebenso 
über WLAN als auch über festes Gigabit-LAN.

Hat jemand da eine Idee? Ist ja eine ziemliche Standardapplikation, via 
Raspberry was ins LAN zu streamen, aber anscheinend ist das alles noch 
nicht so ganz ausgereift...

Beste Grüße
Rabe

von Student (Gast)


Bewertung
0 lesenswert
nicht lesenswert
GBit-Lan bringt so oder so nix. Der RPi hat max 100Mbits. Ich würde aber 
GStreamer empfehlen. Damit läuft es auf dem alten Pi noch bis FullHD 
alles super geschmeidig.

von Rabesam (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ahoi,
ja, das ist mir bewusst dass der RPi nur 100 MBit besitzt, wollte damit 
nur verdeutlichen dass eine gute Verbindung vorliegt :).

Ja, Gstreamer wollte ich gerne mal ausprobieren, jedoch ist die 
Unterstützung unter Windows ja eher fraglich...

von Student (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rabesam schrieb:
> Ahoi, ja, das ist mir bewusst dass der RPi nur 100 MBit besitzt,
> wollte damit nur verdeutlichen dass eine gute Verbindung vorliegt :).

Dann nix für ungut ;)

> Ja, Gstreamer wollte ich gerne mal ausprobieren, jedoch ist die
> Unterstützung unter Windows ja eher fraglich...

Hmm, ich kann dir nicht sagen, wie es mit Windows aussieht, da ich es 
nur für iOS, Linux und OS X ausprobiert habe. Aber da funktioniert das 
überall recht gut. Und ich hab mir sagen lassen, dass es auch unter 
Windows funktioniert. Das muss du dann aber wohl alleine ausprobieren.

Hier haben wir auch schon eine Menge dazu diskutiert, und da gibt es 
auch genug, die das unter Windows verwendet haben.
http://fpv-community.de/showthread.php?46646-Low-Cost-HD-Video-%DCbertragung-Telemetrie

von Simeon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich benutze ffmpeg und crtmpd. Es läuft zuverlässig.
http://jankarres.de/2013/12/raspberry-pi-kamera-stream-broadcast-realisieren/
Man kann es mit Anpassungen auch mit höherer Bildauflösung einstellen.
Bei Step 12 ist rtmp://IP/flvplayback/myStream.flv der richtige Link.
Man kann den rtmp Link natürlich auch über VLC abspielen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.