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


von Rabesam (Gast)


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:
1
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:

1
main warning: picture is too late to be displayed (missing 72 ms)
2
main warning: picture is too late to be displayed (missing 36 ms)
3
main warning: picture is too late to be displayed (missing 72 ms)
4
main warning: picture is too late to be displayed (missing 67 ms)
5
main warning: picture is too late to be displayed (missing 103 ms)
6
main warning: picture is too late to be displayed (missing 139 ms)
7
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1000 ms)
8
main error: ES_OUT_RESET_PCR called
9
main error: pictures leaked, trying to workaround
10
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1477 ms)
11
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)


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)


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)


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)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.