I wanted to setup my pi zero and pi camera as a rstp streaming cctv camera. I tried motion, but this ran the pi at 100% cpu utilisation and I didn't need motion capture as a I have a seperate (motion) server that will handle all that, so I just want something that simply sends a video stream.

I have tried 2 methods Native

raspivid -o - -t 0 -w 1280 -h 720 -fps 5 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8081/}' :demux=h264

UV4L (after following install instructions and then rstp instructions

cvlc -vvv v4l2c:///dev/video0:width=1280:height=720:chroma=H264 --sout '#rtp{sdp=rtsp://:8081/}' --demux h264

both have lag, but that's fine for this purpose, but I have a lot of corrupted images, that I can't have example of said corrupted image

The output from the uv4l driver is the worst looking, also seems to the highest cpu usage.

Console log from the vu4l method

[b3b00510] core input debug: Stream buffering done (4760 ms in 23803 ms)
[b3b00510] core input debug: Decoder wait done in 0 ms
[b3b00510] core input error: ES_OUT_SET_(GROUP_)PCR  is called too late (jitter of 18584 ms ignored)
[b3b14590] core decoder error: Could not convert timestamps 0, 0
[b3b04208] core stream output warning: trying to send non-dated packet to stream output!
[b3b00510] core input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 4908 ms)  
[b3b00510] core input error: ES_OUT_RESET_PCR called

Is there anyway I can improve the stability of the stream?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.