Xilinx zynq7000移植Mjpg_streamer

本文详细介绍了在嵌入式系统上移植mjpg-stream与jpeg库的具体步骤,包括源码下载、配置、编译、安装及测试等过程。适用于希望在嵌入式设备上实现视频流功能的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PC-Linux 版本:Ubuntu 14.04

 

Arm-Linux 内核版本:Linux version 3.17.0-xilinx (ubuntu@ubuntu) (gcc version 4.6.3 (Sourcery CodeBench Lite 2012.03-79) ) #29 SMP PREEMPT Sat Sep 29 19:26:22 PDT 2018

 

Jpeg版本:jpeg-8b

 

mjpg-stream版本:mjpg-streamer-code-r182

 

嵌入式开发板信息:

processor       : 0

model name      : ARMv7 Processor rev 0 (v7l)

Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x3

CPU part        : 0xc09

CPU revision    : 0

 

processor       : 1

model name      : ARMv7 Processor rev 0 (v7l)

Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x3

CPU part        : 0xc09

CPU revision    : 0

 

Hardware        : Xilinx Zynq Platform

Revision        : 0003

Serial          : 0000000000000000

 

移植步骤:

 mjpg-stream的移植需要jpeg的库,所以我们先移植jpeg的库

(1)jpeg库的移植

        1)jpeg源码包通过下面这个网址下载
             $wget   http://www.ijg.org/files/jpegsrc.v8b.tar.gz
        2)
解压源码包
              $tar xvf jpegsrc.v8b.tar.gz
         3)
配置源码
               $cd jpeg-8b
$ ./configure CC=arm-linux-gcc

--prefix=/mnt/hgfs/sharezoneubuntu/projectfenvironment/source/www/jpeg[1]     --host=arm-linux [2] 
          4)编译
              $make
          5)
安装
              $make install
          6)
拷贝库到文件系统中
               将刚才生成库的文件含文件夹拷贝到嵌入式开发板中

(2)mjpg-stream的移植

        1)mjpg-stream源码包通过下面这个网址下载
               https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/


                

2)解压并进入到mjpg-streamer目录
        修改顶层makefileplugins目录中的各级makefile将所有
              CC=gcc
        
修改为
                CC=arm-linux-gcc

       修改plugins/input_uvc/Makfile
             
修改14行
                FLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
                

                CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

-I /mnt/hgfs/sharezoneubuntu/projectfenvironment/source/www/jpeg/include/[3] 
                修改32行
                 $(CC) $(CFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS)                 


           $(CC) $(CFLAGS)

-L /mnt/hgfs/sharezoneubuntu/projectfenvironment/source/www/jpeg/lib/[4] 

-o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS)                

3)编译

mjpg-streamer目录中编译
             $ make

4)拷贝
将整个mjpg-streamer目录拷贝到嵌入式开发板中

5)测试

       打开开发板进入到mjpg-streamer运行

$./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -f 30 -r 320*240 -y" -o "./output_http.so -w ./www"
      也可以进入到mjpg-streamer目录中运行start.sh

$./start.sh
     
这个脚本里有一些mjpg-stream的使用方法及说明

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

参考链接:

https://blog.youkuaiyun.com/wavemcu/article/details/7539560

https://blog.youkuaiyun.com/marc07/article/details/70168677

https://sourceforge.net/projects/mjpg-streamer/

https://blog.youkuaiyun.com/cqybhjz/article/details/51517172

 


 [1]交叉编译生成库的目录

 [2]目标机

 [3]此路径为移植JPEG生成文件中include文件夹的路径(嵌入式开发板中的绝对路径)

 [4]此路径为移植JPEG生成文件中lib文件夹的路径

(嵌入式开发板中的绝对路径)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值