本文主要是介绍Xilinx zynq7000移植Mjpg_streamer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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目录
修改顶层makefile及plugins目录中的各级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的使用方法及说明
打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.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.csdn.net/wavemcu/article/details/7539560
https://blog.csdn.net/marc07/article/details/70168677
https://sourceforge.net/projects/mjpg-streamer/
https://blog.csdn.net/cqybhjz/article/details/51517172
[1]交叉编译生成库的目录
[2]目标机
[3]此路径为移植JPEG生成文件中include文件夹的路径(嵌入式开发板中的绝对路径)
[4]此路径为移植JPEG生成文件中lib文件夹的路径
(嵌入式开发板中的绝对路径)
这篇关于Xilinx zynq7000移植Mjpg_streamer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!