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