【OK210试用体验】进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下)
转自: http://bbs.elecfans.com/jishu_510084_1_1.html
本篇主要内容分为:
嵌入式视频图像开源库
mjpg-streamer简介
mjpg-streamer在Ubuntu下编译

一、嵌入式视频图像开源库
在嵌入式系统中,常用的视频图像处理开源系统有:luvcview、cheese、motion、mjpg-streamer或者ffmpeg,其中:
- luvcview: 基于V4L2、SDL的程序,支持拍照录像,参数调节,代码精简实用,适合学习V4L2编程
- cheese:基于V4L2、GTK的程序,支持拍照录像,特殊视频效果
- motion:移动侦测拍照程序
- mjpg-streamer:网络摄像机程序
二、mjpg-streamer简介
MJPG-streamer,是用于从webcam摄像头采集图像,把他们以流的形式通过基于ip的网络传输到浏览器如Firehox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备。它可以利用某些webcams的硬件压缩功能来降低服务器CPU的开销。它为嵌入式设备和一些常规服务器提供了一个轻量且更少CPU消耗的方案,因为它无需为视频帧压缩浪费大量的计算效率。
值得一提地是,mjpg-sreamer源码的下载,由于其一直没有更新,现存网上的编译教程都是“老式”的,不适合现在的编译环境(linux-3.x内核),故多数人是失败的。网上的下载地址主要有两个:地址1,地址2,经测试,都不能编译成功,具体正确的地址,见下面。
一般下载后,mjpg-streamer下包含如下目录:其中mjpg-streamer提供了各个输入输出设备组件,uvc-streamer提供了uvc-streamer的可执行目录,mjpeg-client分别有linux和Window的客户端测试程序。
mjpg-streamer的工作流程,大致如下所示:
三、mjpg-streamer在Ubuntu下编译
1 安装前准备
1)sudo apt-get install libsdl1.2-dev subversion
2)sudo apt-get install
libjpeg62-dev否则出现如下错误
![]()
3)sudo apt-get install imagemagick否则出现如下错误
2 下载mjpeg-streamer
git clone https://github.com/shrkey/mjpg-streamer
cd mjpg-streamer/mjpg-streamer
3 编译安装
make
sudo make install
![]()
ps:重新编译前,需要执行
make clean(相对make)
make uninstall(相对make install)
4 测试
运行./start.sh
(1)网页测试
![]()
(2)网页视频流测试
![]()
(3)Window客户端测试
(4)VLN播放器测试
![]()
【OK210试用体验】进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下)的更多相关文章
- 【OK210试用体验】进阶篇(2)视频图像采集之MJPG-streamer编译(arm移植)
上一篇([OK210试用体验]进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下))进行了MJPG-streamer在Ubuntu下的编译及测试,这一篇针对OK210,进行a ...
- ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案
遇到问题: 在做计算机视觉课程作业,运动目标检测与跟踪时,在ubuntu系统下用kazam录制了一小段运动目标检测的视频,然后在课上展示时播放不出来,想着Mp4格式的不应该播放不出来啊.网上寻求了一番 ...
- Android系统篇之—-编写系统服务并且将其编译到系统源码中【转】
本文转载自:http://www.wjdiankong.cn/android%E7%B3%BB%E7%BB%9F%E7%AF%87%E4%B9%8B-%E7%BC%96%E5%86%99%E7%B3% ...
- ubuntu系统下navicat 试用到期解决方案
作者:python技术人 博客:https://www.cnblogs.com/lpdeboke 1.直接删除 /home目录下的 .navicat文件夹(此文件夹隐藏),如果你是64位,文件夹名称可 ...
- [转]抢先Mark!微信公众平台开发进阶篇资源集锦
FROM : http://www.csdn.net/article/2014-08-01/2820986 由CSDN和<程序员>杂志联合主办的 2014年微信开发者大会 将于8月23日在 ...
- idea 插件的使用 进阶篇
CSDN 2016博客之星评选结果公布 [系列直播]零基础学习微信小程序! "我的2016"主题征文活动 博客的神秘功能 idea 插件的使用 进阶篇(个人收集 ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十七篇】:Django之【进阶篇】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十七篇】:Django【进阶篇】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
随机推荐
- 算法总结之 将单链表的每K个节点之间逆序
给定一个单链表的表头节点head,实现一个调整单链表的函数,是的每k个节点之间逆序,如果最后不够k个节点一组,则不调整最后几个节点 思路: 如果k的值小于2,不调整.k<1 没有意义,k==1代 ...
- Mac键盘图标与对应快捷按键标志汇总 分类
Mac键盘图标与对应快捷按键 ⌘——Command () win键 ⌃ ——Control ctrl键 ⌥——Option (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是 ...
- Java日期时间输出格式优化
使用printf格式化日期 printf 方法可以很轻松地格式化时间和日期.使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾. 转 换 符 说 明 示 例 c 包括全部 ...
- Stacktack overview
class Lifecycle(models.Model): """The Lifecycle table is the Master for a group of ...
- c++中的函数对象
头文件wuyong.h: #pragma once #include<iostream> using namespace std; template<typename T> s ...
- 自己动手实现一个简化版的requireJs
一直想实现一个简单版本的requireJs,最直接的办法去看requireJs源码搞明白原理,但是能力有限requireJs的源码比想象的要复杂许多,看了几遍也不是很明白,最后通过搜索找到了一些有价值 ...
- SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)
SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1) 安装Quick Start工具 RML(Replay Markup Language)是MS ...
- CLR事件与路由事件在XAML代码中应用时的区别
<Window x:Class="Demo_window.Window2"xmlns="http://schemas.microsoft.com/winfx/200 ...
- Container容器调用构造函数
- flash、js 函数 互相调用
js调用flex函数 flex 利用ExternalInterface.addCallback(“注册的方法名”,As中的函数名)进行注册 js中,用document.getElementById(“ ...