CubieTruck上安装mjpg_streamer
最近手头项目需要用到一个上位机,需要在上位机上实现远程访问及视频监控。其中视频监控采用了网上资料较多的mjpg_streamer进行视频处理。在使用中遇到许多坑也一并记录下来。
首先安装依赖环境和检测环境,装全点没坏处:)
sudo apt-get install subversion
sudo apt-get install libv4l-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install fswebcam
sudo apt-get install v4l-utils
sudo apt-get install build-essential make
安装完成后,开始下载代码并进行编译
cd ~/
mkdir code
cd code
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/
cd mjpg-streamer/mjpg-streamer
make USE_LIBV4L2=true clean all
sudo make DESTDIR=/usr install
执行完sudo make DESTDIR=/usr install 后信息如下:
mjpg-streamer# sudo make DESTDIR=/usr install
install --mode=755 mjpg_streamer /usr/bin
install --mode=644 input_uvc.so output_file.so output_udp.so output_http.so input_testpicture.so input_file.so /usr/lib/
install --mode=755 -d /usr/www
install --mode=644 -D www/* /usr/www
如遇编译失败再装下面的依赖包,有的人说要下依赖包重新编译,具体是否好用未测试,发现有这个方法就不用做那么多事了
sudo apt-get install libjpeg-dev
现在就可以进行测试了:
- 首先需要检测摄像头是否已加载
# ls /dev/video*
/dev/video0
- 确认摄像头支持的类型:
# fswebcam -v
- 运行命令
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 320x240 -f 15" -o "/usr/lib/output_http.so -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 640x480 -f 15" -o "/usr/lib/output_http.so -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "/usr/lib/output_http.so -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 1024x768 -f 15" -o "/usr/lib/output_http.so -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 1024x768 -f 30" -o "/usr/lib/output_http.so -w /usr/www"
结果
MJPG Streamer Version: svn rev: 3:172
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 15
i: Format............: MJPEG
。。。。。。
o: www-folder-path...: /usr/www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
访问(注意用FireFox或chrome,其它浏览器支持不是很好),看到下面的就对了:
http://ip:8080 (这个端口取决于你的设置 -p 如果未设置默认为8080)

参数:
-i : uses input_uvc.so (the USB Webcam) as input
-o : output_http.so for the output (sending the images to a Web server
-w : the directory, which has the HTML, CSS, and JS files: /usr/local/www
You can cancel the stream by pressing Ctrl+C. If you want to experiment with some other options, some are listed below: -b : runs in the background
-p : set a default port instead of the default 8080
-c : prompts for username:password
-yYUYV : enables YUYV format and disables MJPEG mode
-f : framerate (in seconds)
遇到的问题:
1、CPU居高不下:
两种原因:(1)参数内加入了 -y 开启了 yuv模式,我测试结果是一个CPU跑到了90% ,可以看到程序启动后的信息:
(2)摄像头不支持mjpeg,这样的话CPU也会居高不下。采用上面的fswebcam -v进行检测,如果不支持mjpeg的话就不要用了
i: Format............: MJPEG 如果不是这个就是有可能你带Y参数或是摄像头不支持
测试:使用支持MJPEG摄像头开启 -y参数:

关闭-y参数:

2、找不到网页
路径问题,在参数 -w后面跟的要么应该指向你建立的code文件夹下的www目录或是编译过程结果中的目录,我的结果显示的是/var/www
3、其它机器访问不了默认端口:
检测系统默认安装的ufw是否已启动,启动的话先关了再试
基本上就这很多了:)
转载请注明:http://www.cnblogs.com/forrestsun/p/4995083.html
CubieTruck上安装mjpg_streamer的更多相关文章
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- 记录在Windows上安装和使用Oracle数据库过程中的坑
1.安装Oracle Oracle软件是免费的,可以去官网下载相应的安装包.但是如果用于商业用途需要购买License.官网上针对各种平台,32位和64位都有,如果在Windows一般会下载到两个文件 ...
- raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序
参考网址: http://www.linuxdot.net/ http://www.cnblogs.com/mayswind/p/3279380.html http://www.raspberrypi ...
- 在Mac OS X上安装ASP.NET 5(译文)
ASP.NET 5 运行在包括OS X的可用于多个平台的.NET Execution Environment(DNX)上.本文介绍如何在OS X上通过HomeBrew安装DNX和ASP.NET 5. ...
- Windows 7 上安装Visual Studio 2015 失败解决方案
安装之前先要看看自己的系统支不支持,具体的可以看:https://www.visualstudio.com/en-us/visual-studio-2015-system-requirements-v ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
- 在Linux Mint上安装node.js和npm
1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...
随机推荐
- SQL Server常用的性能诊断语句
/* 常规服务器动态管理对象包括: dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存.锁定和时间安排 dm_tran_*:事务和隔离 dm_io_ ...
- CenOS 7 安装wordpress
1:Centos安装 php和html yum install httpd -y yum install php -y 2:将 wordpress 拖到目录 /var/www/html 3:浏览器访 ...
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION ...
- cPage分页详细介绍
asp.net中各种数据控件,datalist.gridview.Repeater等分页是最常用的功能,几乎任何一个B/S项目,无论是系统还是网站都会用到.分页时,读取整个数据,直接绑定到控件,都可以 ...
- json在项目中的应用大总结
一.摘要 刚开始接触json的时候,那时候还不太清楚json到底是个什么东西,然后就在项目中使用了它.因为没有搞明白json的本质,所以刚开始使用json的时候走了不少弯路.这次总结一些json的知识 ...
- tokudb引擎磁盘空间不足导致写入失败的调查
故障现象 2016.1.1号早上4点左右,zabbi数据库服务器报警,写入数据失败.登陆机器后检查发现磁盘空间使用95%没有用满,进去zabbix数据库,执行insert命令提示错误“errir 10 ...
- js封装、简单实例源码记录
1.运动封装:doMove ( obj, attr, dir, target, endFn ) 加入回调.&&.||用法注释 <script> var oBtn1 = d ...
- 01从c到c++
c++的发展历史 + 80年代贝尔实验室 本贾尼 + 83年 正式命名c++ + 87年 gnu制定了c++标准 + 92年 微软和IBM分别制定了c++标准 + 98年 ansi ISO 制定了标 ...
- Android线程间通信更新UI的方法(重点分析EventBus)
Android的UI更新只能在UI线程中,即主线程.子线程中如果要进行UI更新,都是要通知主线程来进行. 几种实现方式总结如下,欢迎补充. 1.runOnUiThread() 子线程中持有当前Acti ...
- bug--常见的bug总结:
新手总结的开发中所遇到错误及解决办法,如有不对,欢迎指正,如有更好的解决办法,也请不吝赐教. 一.dialog.show()引起的android.view.WindowManager$BadToken ...