I have a Raspberry Pi with a Raspberry Pi Camera Board.
I'm streaming h264 video like this:
Code: Select all
raspivid -w 1280 -h 720 -b 2000000 -o - -t 300000000 -fps 25 | cvlc stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264
The goal is to have a http h264 stream, which I can decode with VLC on desktop computers as well as with an own App on Android.
Now the problem is: Directly after starting the stream and connecting to it, I get a delay of about 1sec. The longer the stream runs, the bigger the delay gets...
CPU load is <10%.
If I pipe the video data instead to gstreamer, I get a delay of <0,5sec.. But with Full-HD resolution! (see this solution: http://pi.gbaman.info/?p=150). This proofes that the raspivid tool is not causing the delay. Must be VLC
So, back to the "pipe to VLC" solution: I also tried to reduce the http-caching on client side. But this does not really lower the delay. It's still about 1sec and gets bigger and bigger the longer the stuff runs (2-4sec after 20min or so).
Now my question: How do I tweak my command line to reduce the delay as low as possible?
br,
Alex
P.S. Using VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e) on Raspbian Wheezy on Raspberry Pi ARM hardware.