无论使用何种推流方式,我们要使用树莓派CSI摄像头时必须首先要进行一些设置
具体参考前面的博客:https://blog.csdn.net/zz531987464/article/details/83422794
1.raspivid工具推流-延迟大约170ms
该工具已经默认集成到了树莓派之中
raspivid -t 0 -w 1280 -h 720 -fps 20 -o - | nc -k -l 8090
-t 表示延时;-o表示輸出;-fps 表示帧率;端口号为8090
-w表示图像宽度;,-h 表示图像高度,此处设置的分辨率为1280720;我们可以修改 -w 1920 -h 1080将分辨率设置为19201080
该命令执行玩后不会出现任何打印信息即可
在局域网内的linux主机上安装mplayer工具(sudo apt-get install mplayer),然后执行命令
mplayer -fps 200 -demuxer h264es ffmpeg://tcp://192.168.31.166:8090
即会弹出一个显示树莓派实时视频流的窗口,而且延迟尚可,大概在200ms左右,基本上可以满足实时性的要求了。
2.mjpeg-streamer 视频监控-延时大约220ms
使用mjpeg-streamer可以建一个视频流服务,用来做远程监控,而且搭建监控的过程比较简单快捷。但是mjpeg-streamer不支持使用树莓派CSI接口的原装摄像头,因为rpicam不是V4L驱动,只能用usb接口的摄像头。
https://github.com/jacksonliam/mjpg-streamer
于是,我们可以在github上下载经过修改的支持树莓派CSI摄像头的mjpeg-streamer,具体网址如上
sudo apt-get install cmake sudo apt-get install libjpeg8-devunzip mjpg-streamer-master.zipcd mjpg-streamer-master/mjpg-streamer-experimental./mjpg_streamer -i "./input_raspicam.so -fps 15 -x 640 -y 480" -o "./output_http.so -w ./www"
然后我们会看到执行后会打印相关日志:
说明该mjpg-streamer工具推流正常,我们可以在局域网内的任意pc机的浏览器中输入: http://<树莓派ip地址>:8080即可看到摄像头的监控视频流了。
如上所示,在网页中选择Stream就可以看到实时视频流图像监控了。
发布了64 篇原创文章 · 获赞 55 · 访问量 9万+