在树莓派上实现usb摄像头监控的几种方案

来源:互联网 发布:监视网络流量软件 编辑:程序博客网 时间:2024/05/19 16:34

在树莓派上使用usb摄像头时,由于无法直接通过raspivid工具直接采集视频流,因此很多适用于树莓派专用摄像头的监控方案难以实现。


使用环境:

树莓派3B+uvc摄像头(即常见的即插即用usb摄像头)+Windows下VLC播放器


总结usb摄像头采集及实现网络播放的几种方式如下:

1. mjpg-streamer

编译即示例过程:http://blog.sina.com.cn/s/blog_abd39cc70102vrdt.html

实现了从摄像头采集视频,并通过http播放,支持网页以及vlc播放。

具体实现见项目源地址: https://github.com/jacksonliam/mjpg-streamer

此开源工具实现了包括uvc,raspicam,opencv等多种采集摄像头的工具,以及http,rtsp,udp等多种输出方式。但作者只详细介绍了http输出,对于rtsp,udp为提供示例。

流畅度:最好    实现难度:小


2.Camkit

实现了从摄像头采集视频,通过rtsp传输,用vlc打开源代码的video.sdp即可。

要求树莓派与运行vlc的机器(IP:  ip2)在同一局域网,cktool命令中指定ip2,及端口port2。 更改video.sdp中ip参数改为ip2,port为port2。

问题参考:https://git.oschina.net/andyspider/Camkit

流畅度:优秀    实现难度:小


3.ffmepg+ffserver

ffmpeg可实现从usb摄像头采集视频流,ffserver实现对于其缓存文件 feed1.ffm的读取与提供给请求端。

ffserver需先于ffmpeg启动,其启动文件可参考./test/目录下的ffserver.conf改写,建议刚开始不更改,并在./test/目录下启动ffserver。

假设ffserver开启在某主机IP为ip_server,则ffmpeg发送的目的ip为ip_server(非本机)或localhost(本地);port为ffserver.conf中的port。

测试时使用的./test/中的执行文件,如testOnDemand,播放方式为:协议名称(http或rtsp)://ip_server:port/test_h.asf(或其他文件名)

vlc播放时,test_h.asf可更改为ffserver.conf中所述的类似<Stream test_l.mpg></Stream>结构中 的test_l.mpg等

每一种文件名都会对应一种读取fee1.ffm的方式,亲测test_h.asf可实现视频播放,其他未能实现。

附ffmpeg编译过程: http://blog.csdn.net/u014642880/article/details/52958889

流畅度:差   实现难度:大


更多参考网站:

树莓派专用摄像头+vlc实现: http://bbs.ickey.cn/community/forum.php?mod=viewthread&tid=45860   

     http://shumeipai.nxez.com/2014/11/23/raspberry-pi-using-vlc-show-nude-webcam-stream-h264.html

树莓派专用摄像头的几种方法集合: http://blog.csdn.net/offbye/article/details/47114717


0 0
原创粉丝点击