不管使用何种推流方式,咱们要使用树莓派CSI摄像头时必须首先要进行一些设置linux
1.raspivid工具推流-延迟大约170ms
该工具已经默认集成到了树莓派之中github
raspivid -t 0 -w 1280 -h 720 -fps 20 -o - | nc -k -l 8090
-t 表示延时;-o表示輸出;-fps 表示帧率;端口号为8090浏览器
-w表示图像宽度;,-h 表示图像高度,此处设置的分辨率为1280*720;咱们能够修改 -w 1920 -h 1080将分辨率设置为1920*1080bash
该命令执行玩后不会出现任何打印信息便可tcp
在局域网内的linux主机上安装mplayer工具(sudo apt-get install mplayer),而后执行命令工具
mplayer -fps 200 -demuxer h264es ffmpeg://tcp://192.168.31.166:8090
即会弹出一个显示树莓派实时视频流的窗口,并且延迟尚可,大概在200ms左右,基本上能够知足实时性的要求了。spa
2.mjpeg-streamer 视频监控-延时大约220ms
使用mjpeg-streamer能够建一个视频流服务,用来作远程监控,并且搭建监控的过程比较简单快捷。可是mjpeg-streamer不支持使用树莓派CSI接口的原装摄像头,由于rpicam不是V4L驱动,只能用usb接口的摄像头。.net
因而,咱们能够在github上下载通过修改的支持树莓派CSI摄像头的mjpeg-streamer,具体网址如上
#安装相关必要依赖工具
sudo apt-get install cmake
sudo apt-get install libjpeg8-dev
#解压
unzip mjpg-streamer-master.zip
#进入文件夹
cd mjpg-streamer-master/mjpg-streamer-experimental
#编译
make all
#直接在该文件夹下执行
./mjpg_streamer -i "./input_raspicam.so -fps 15 -x 640 -y 480" -o "./output_http.so -w ./www"
而后咱们会看到执行后会打印相关日志:
说明该mjpg-streamer工具推流正常,咱们能够在局域网内的任意pc机的浏览器中输入: http://:8080便可看到摄像头的监控视频流了。
如上所示,在网页中选择Stream就能够看到实时视频流图像监控了。