博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开源视频服务软件MJPG-streamer移植
阅读量:4617 次
发布时间:2019-06-09

本文共 1662 字,大约阅读时间需要 5 分钟。

内容摘要:

MJPG-streamer是一个轻量级的视频服务器软件,一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序,可应用在基于IP协议的网络中,从网络摄像头中获取并传输JPEG格式的图像到浏览器,甚至是一个运行了TCPMP播放器的Windows移动设备。该工具源码简洁,注释清晰,使用Linux C语言进行开发,可移植到不同的计算机平台。

准备阶段:

      主机环境:   Ubuntu11.10

       目标机:    飞凌-Ok6410-A

       目标机系统:linux2.6.36

       编译环境:   arm-linux-gcc-4.3.2

       USB摄像头:中星微-zc301p

     

       MJPG-stream的移植需要jpeg库,所以必须先移植jpeg库

       源码下载:jpeg源码包:

                    MJPG-stream源码包:

移植步骤:

       1.jpeg库移植

           (1)解压jpeg源码包

$tar xvf jpegsrc.v8b.tar.gz

           (2)配置源码

$ ./configure --prefix=/lxm/jpeg --host=arm-linux-gcc

            上面的/lxm/jpeg为自己建的目录,视自己情况而定,编译器也是。

           (3)编译

$make

           (4)安装

$make install

           (5)复制库文件到文件系统中

$cp /lxm/jpeg/lib/libjpeg.so.8 /source/rootfs/lib

     2.MJPG-stream的移植

           (1)解压源码

$tar xvf mjpg-streamer-r63.tar.gz

           (2)修改源码

$cd mjpg-streamer-r63

            修改顶层makefile及plugins目录中的各级makefile将所有

            CC=gcc修改为CC=arm-linux-gcc

 

            修改plugins/input_uvc/Makfile

            修改
            CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared –fPIC
            为
            CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/lxm/jpeg/include
   
            修改
            $(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
            为
            $(CC) $(CFLAGS) -ljpeg -L/lxm/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

           (3)编译

$make

           (4)复制相关库文件到开发板

$mkdir /source/rootfs/mjpg        $cp *.so /source/rootfs/mjpg        $cp mjpg-stream /source/rootfs/bin

           (5)测试

              打开开发板运行

               mjpg_streamer -i "/mjpg/input_uvc.so -d /dev/video0" -o "/mjpg/output_http.so -w /www"

              在源码目录下有start.sh,这个脚本里有一些mjpg-stream的使用方法及说明

              打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.168.1.202):

              
              打开一个网页输入下面地址就能够看到一个静态图片:
              
           (6)在mjpg源码下有一个www的目录,这个一个网络使用mjpg的实例,结合web服务器(boa)可以实现一些其他相关功能。

 

            做这个移植主要是测试自己买的中新微的USB摄像头对于Linux2.6.36是否支持,现在成功显示,说明该Linux2.6.36支持中星微zc301p的摄像头。

    参考文章:

转载于:https://www.cnblogs.com/lixiaoming90/archive/2012/08/23/2653406.html

你可能感兴趣的文章
在Spring下集成ActiveMQ
查看>>
OTS parsing error: invalid version tag woff和ttf文件被Filter拦截
查看>>
使用Kazoo操作ZooKeeper服务治理
查看>>
linux系统安装配置exim4(源码安装)
查看>>
EF 两种删除方式的比较
查看>>
bzoj 2152: 聪聪可可
查看>>
推迟幸福感
查看>>
Java框架之spring 项目 附加之noteresult(status msg data uuid MD5)
查看>>
图->定义
查看>>
animate.css
查看>>
《机电传动控制》学习笔记04
查看>>
数据库系统概念:数据库的修改
查看>>
python 多继承(新式类) 四
查看>>
JS写入Json到CSV并下载
查看>>
Python2.3-原理之语句和语法
查看>>
RecyclerView实现底部载入很多其它功能
查看>>
【大话设计模式】——简单工厂模式
查看>>
如何安全地关闭MySQL实例
查看>>
Redis Cluster 3.0搭建与使用
查看>>
python基础学习第一波
查看>>