Xilinx zynq7000移植Mjpg_streamer

2023-10-23 11:30

本文主要是介绍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目录
        修改顶层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.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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/267537

相关文章

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

Xilinx系FPGA学习笔记(五)ROM的IP核学习

系列文章目录 文章目录 系列文章目录前言ROM IP分布式ROM生成ROM配置创建COE文件 块ROM生成如何快速生成Example Design 两种ROM对比 前言 最近在学习小梅哥的xilinx型FPGA开发板,一边学习一边记录,简化整理一下笔记 ROM IP 在 Memories &Storage Elements 下可以看到有两个与 ROM 相关的

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

Xilinx系FPGA学习笔记(四)VIO、ISSP(Altera)及串口学习

系列文章目录 文章目录 系列文章目录VIO(Vivado)ISSP(Altera)串口学习FPGA串口发送FPGA串口接收 VIO(Vivado) VIO 的全称叫 Virtual Input/Output,建立一个虚拟的输入/输出信号,可以对需要调试的模块的输出信号的数值进行在线的查看,以及模拟一些信号输给需要调试模块,方便调试查找问题和验证模块的实际上板工作的正确

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-30 RS485串口程序收发环路设计

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 目录 1概述

XILINX平台下LINUX DMA驱动调研

专栏目录 高质量文章导航-持续更新中-CSDN博客 基础概念 VA:virtual address称为虚拟地址, PA:physical address称为物理地址。 CPU通过地址来访问内存中的单元,如果CPU没有MMU,或者有MMU但没有启动,那么CPU内核在取指令或者访问内存时发出的地址(此时必须是物理地址,假如是虚拟地址,那么当前的动作无效)将直接传到CPU芯片的外部地址引脚上,

Xilinx FPGA 原语解析(二):IBUFDS差分输入缓冲器(示例源码及仿真)

目录 前言: 一、原语使用说明 二、原语实例化代码模版 三、使用示例 1.设计文件代码 2.仿真文件代码 3.仿真结果 前言: 本文主要参考资料xilinx手册,《Xilinx 7 Series FPGA and Zynq-7000 All Programmable SoC Libraries Guide for HDL Designs》UG768 (v14.7) Octob