Android + Mini2440 无线网络视频监控系统 mjpg-streamer的移植

发布者:TranquilSilence最新更新时间:2024-06-24 来源: elecfans关键字:Android  Mini2440  mjpg-streamer  移植 手机看文章 扫描二维码
随时随地手机看文章

一、环境

主机环境 :Ubuntu 10.10
        目标机 :FS2410(S3C2410)
        主机工具链 :gcc-4.4.5
        交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2
        摄像头 :ZC301

二、移植过程

1、配置内核是内核支持芯片为ZC301的摄像头
        Make menuconfig
                Device Drivers ---> 
                        <*> Multimedia support --->
                                <*> Video For Linux 
                                [*] Enable Video For Linux API 1 (DEPRECATED) (NEW)
                                [*] Video capture adapters (NEW) --->
                                        [*] V4L USB devices (NEW) ---> 
                                                <*> USB Video Class (UVC) 
                                                [*] UVC input events device support (NEW)
                                        <*> USB ZC0301[P] webcam support (DEPRECATED)

2、重新编译内核

make zImage

通过上面两个步骤就可以驱动我们的摄像头了。但是这个驱动是基于V4l2的。以前基于V4L的一些上层应用就不能用了,或需要做大量的修改!这里我们要实现网络视频的功能,以前都是用servfox这个网络视频服务器,但是这个服务器就是基于V4L的,我们如果想用的话就得对servfox的源码进行修改。这里我们选用另外一种方案mjpg-stream。

3、mjpg-stream的移植

关于mjpg-stream的资料大家可以在下面这个网址查看:

http://sourceforge.net/apps/mediawiki/mjpg-streamer/index.php?title=Main_Page 
        mjpg-stream的移植需要jpeg的库,所以我们先移植jpeg的库

(1)jpeg库的移植

        1)jpeg源码包通过下面这个网址下载
                http://www.ijg.org/files/jpegsrc.v8b.tar.gz
                2)解压源码包
                tar xvf jpegsrc.v8b.tar.gz
                3)配置源码
                cd jpeg-8b
                ./configure --prefix=/home/linux/s3c2410-2.6.35/video/jpeg --host=arm-none-linux-gnueabi
                4)编译
                make
                5)安装
                make install
                6)拷贝库到文件系统中
                cp //home/linux/s3c2410-2.6.35/video/jpeg /lib/libjpeg.so.8 /source/rootfs/lib

(2)mjpg-stream的移植

        1)mjpg-stream源码包通过下面这个网址下载
                http://sourceforge.net/projects/mjpg-streamer/ 
                2)解压源码
                tar xvf mjpg-streamer-r63.tar.gz
                3)修改源码
                cd mjpg-streamer-r63
                修改顶层makefile及plugins目录中的各级makefile将所有
                CC=gcc
                修改为
                CC=arm-none-linux-gnueabi-gcc

        修改plugins/input_uvc/Makfile
                修改
                CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
                为
                CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/linux/s3c2410-2.6.35/video/jpeg/include
                修改
                $(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
                为
                $(CC) $(CFLAGS) -ljpeg -L/home/linux/s3c2410-2.6.35/video/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

         jpeg_utils.c:27: fatal error: jpeglib.h: No such file or directory
                4)编译
                make
                5)测试
                mkdir /source/rootfs/mjpg
                cp *.so /source/rootfs/mjpg
                cp mjpg-stream /source/rootfs/bin

        打开开开发板运行
                mjpg_streamer -i '/mjpg/input_uvc.so' -o '/mjpg/output_http.so -w /www'
                在源码目录下有start.sh,这个脚本里有一些mjpg-stream的使用方法及说明

        打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.168.1.202):
                http://192.168.1.202:8080/?action=stream 
                打开一个网页输入下面地址就能够看到一个静态图片:
                http://192.168.1.202:8080/?action=snapshot 
                6)在mjpg源码下有一个www的目录,这个一个网络使用mjpg的实例,结合web服务器(boa)可以实现一些其他相关功能。


关键字:Android  Mini2440  mjpg-streamer  移植 引用地址:Android + Mini2440 无线网络视频监控系统 mjpg-streamer的移植

上一篇:Android + Mini2440 无线网络视频监控系统 SQLite的移植
下一篇:Android + Mini2440 无线网络视频监控系统 Android客户端程序

推荐阅读最新更新时间:2026-03-21 06:12

基于3G无线网络视频监控系统前端设计
0 引言 随着社会的不断发展和进步,人们日常生活中安全问题得到越来越高的重视。视频监控作为安全防范系统的重要组成部分,使得人们可以远距离的观察和调度被控区域的能力,以其直观、准确、及时和信息内容丰富等优势广泛应用于现代化小区、交通、运输、消防等领域。随着科学技术的不断进步和人们对监控系统要求的不断提高,监控系统也经历了从模拟监控时代到数字化网络监控时代的飞速发展变化。基于国内已经投入商业运营的3G网络的无线视频监控系统具有强大的无线网络传输功能,能够克服由于地理位置、布线成本和远距离监控等带来的问题。相对于有限传输,无线传输模式具有安装方便、灵活性强、性价比高等特性,诸多优势使得无线监控系统成为如今视频监控领域新的发展方向。
[单片机]
基于3G<font color='red'>无线网络</font>的<font color='red'>视频监控系统</font>前端设计
u-boot-2009.08在mini2440上的移植 增加I2C EEPROM功能
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,参考文章: 10.1,实现u-boot的I2C EEPROM功能 mini2440开发板上的AT24C08A芯片提供了8kbyte的非易失的EEPROM存储空间,而且是通过I2C协议进行读写的,U-boot提供了对I2C和EEPROM的操作支持。 打开/include
[单片机]
u-boot-2009.08在mini2440上的移植 增加nor flash功能
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。u-boot中默认是从Nor Flash启动,再从上一节测试运行的结果的中看,还发现几个问题:第一,我开发板的Nor Flash是2M的,而这里显示的是5
[单片机]
u-boot-2011.03在mini2440/micro2440上的移植 支持yaffs下载
6.1 include/conskfigs/micro2440.h 添加 #define CONFIG_CMD_NAND_YAFFS 【说明】 本人在阅读cmd_nand.c时发现u-boot-2011.03已经支持yaffs写入,只需添加如上定义即可,但实际写入错误,再阅读源代码,发现只要按下一步修改即可,虽然这是最简单的方法,但似乎并不是最优的方法。 6.2 drivers/mtd/nand/nand_util.c int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length, u_char *buffer, int withoob) {
[单片机]
u-boot-2011.03在mini2440/micro2440上的移植 准备工作
u-boot自2010.09版以后有比较大的变化,首先是不再在顶层Makefile中配置板级支持文件,其次是重写了start.S和board.c,还有就是提供了对S3C2440的部分支持,使得在移植时难度减小。但由于是新版本,bug也有不少。本文尝试对u-boot-2011.03进行移植,主要参考了bscbem的日志和L_Backkom的专栏,在此表示感谢。 具体见http://www.linuxidc.com/Linux/2011-02/32772.htm 与 http://www.linuxidc.com/Linux/2011-03/33476.htm U-Boot源代码下载地址 http://www.linuxidc.com
[单片机]
FFmpeg移植mini2440
Fedora 8 arm-linux-gcc 3.4.1 下载ffmpeg_x264_src_20071007源码 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 具体下载目录在 /pub/2011/09/25/FFmpeg移植到mini2440/ 交叉编译x264 #CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/3.4.1/arm-linux/ --host=arm-linux #make 错误 common/cpu.c:212 'cpu_set_t' undeclared comm
[单片机]
QT_MPlayer移植mini2440
(一)首先要建立交叉编译环境 a) 首先搭建交叉编译环境 i. 将arm-linux-gcc-4.4.3.tar.gz解压到一个空文件夹中 #tar zvxf arm-linux-gcc-4.4.3.tar.gz –C / (C的后面有空格) 改变环境 #gedit /root/.bashrc 将路径改为/opt/FriendlyARM/toolschain/4.4.3/bin export PATH=$PATH:/ opt/FriendlyARM/toolschain/4.4.3/bin 上面两行是同一条命令! 保存退出之后,要重启一下机子命令如下 #reboot 重启之后
[单片机]
mini2440 madplay移植出现问题解决
刚刚开始,下决心学习linux,所以找出大学时候就购买的mini2440 拿出来折腾。 按照手册一路模仿学习,其中出现不少问题,也都一个一个解决了。可惜那时候没有想来,记录这个过程。 这次在学习到手册的第六章6.5嵌入式程序移植实例的时候出现了问题。看如下图: target-x86 里面,我一直都没得到 原来的库文件。 这篇《 友善之臂 madplayer 移植过程补充 》也出现过类似的或者说一模一样的问题,把问题解决了,更重要的是分析出来。 问题一: 仔细一看,出现的错误: configure: error: zlib.h was not found *** You must first install zlibz(libz
[单片机]
<font color='red'>mini2440</font> madplay<font color='red'>移植</font>出现问题解决
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved