iTOP-iMX6ULL开发板-移植mjpg-streamer实现远程监控

iTOP-iMX6ULL开发板-移植mjpg-streamer实现远程监控

 

 

 

转自:iMX6ULL开发板使用手册第九十七章

关注公众号“北京迅为”,回复“终结者”,免费下载完整版本。

 

硬件平台:迅为iMX6ULL开发板

 

 

1 移植 MJPG

因为使用 mjpg-streamer 要用到 MJPG 库,所以我们要先把 MJPG 库移植到开发板上。

MJPG MJPEG 的缩写,MJPEG 是一种视频编码格式,但是 MJPEG 还可以表示文件格式扩展名,常用

于闭合电路的电视摄像机的模拟视频信号“翻译”成视频流,能发送高质量图片,生成完全动画视频,即

由系列 jpg 图片组成视频。

MJPG 库下载地址:http://www.ijg.org/files/,本文档选择的 jpegsrc.v8b.tar.gz 这个版本,也可以使用文

档同一目录下的 jpegsrc.v8b.tar.gz 压缩包,然后在 Ubuntu 创建文件夹 mjpg

mkdir mjpg

将下载好的 jpegsrc.v8b.tar.gz 压缩包放到 mjpg 文件夹下,然后解压:

tar -vxf jpegsrc.v8b.tar.gz

 

 

然后在此目录下创建文件夹用来存放编译生成文件,

mkdir _jpeg_install,

 

 

进入 jpeg-8b 文件夹,执行以下命令配置编译选项:

./configure --prefix=/home/ubuntu/work/mjpg/_jpeg_install --host=arm-linux-gnueabihf

参数说明:

 

--prefix=/home/ubuntu/work/mjpg/_jpeg_install:为上步创建的文件夹路径,根据实际填写。

--host=arm-linux-gnueabihf:为交叉编译工具的名字。

完成后如图 97.1.3

 

 

 

 

执行 make 编译,完成后如图 97.1.4:

 

 

 

执行 make install,完成后如图 97.1.5:

 


进入_jpeg_install 文件夹查看,有图 97.1.6 所示文件即为成功:

 

 

 

将_jpeg_install 的/lib/下的库文件拷贝到开发板的/lib/目录下:

 

 

 

2 移植 mjpg-streamer 服务器

mjpg-streamer 是一个命令行应用程序,可通过网络将 JPEG 文件从网络摄像头流传输到各种类型的查看

器,例如浏览器,mplayer 等其他能够接收 MJPG 流的软件。

 

 

下载网站:https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/

输入:svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code 下载,目录下多出

以下文件:

 

 

进入 mjpg-streamer/mjpg-streamer-code/mjpg-streamer/文件夹:执行 make clean

输入以下命令修改交叉编译工具:

find -name "Makefile" -exec sed -i "s/CC = gcc/CC = arm-linux-gnueabihf-gcc/g" {} \;

查看是否修改成功,grep "arm-linux-gnueabihf-gcc" * -nR:

 

 

继续修改编译选项,搜索“CFLAGS”:

 

 

根据搜索出来的信息,进入 plugins 文件夹,修改 plugins/input_uvc/Makefile,第 15 行添加

CFLAGS += -I /home/ubuntu/work/mjpg/_jpeg_install/include/

25 行改为:

LFLAGS += -L /home/ubuntu/work/mjpg/_jpeg_install/lib/ -ljpeg

完成后如图 97.2.5

 

 

回到 mjpg-streamer 目录下,执行 make 编译,成功后如图 97.2.6:

 

在目录下会生成.so 库文件和 mjpg_streamer,

 

 

 

将.so 文件拷贝到开发板的/lib/目录下,mjpg_streamer 文件夹拷贝到开发板的/bin/目录下,www 拷贝

到/opt/目录下:

cp *.so start.sh mjpg_streamer ~/nfs_dir/

cp www /opt/ -rf

cp mjpg_streamer /bin/

 

 

3 测试

测试过程中要保证网络畅通,根据 start.sh 文件,输入以下命令测试:

mjpg_streamer -i "input_uvc.so -d /dev/video2 -r 320x240 -f 30 -yuv" -o "output_http.so -w /opt/www"

报错可以忽略,

 

 

下方会显示端口号

 

 

然后在 Ubuntu 的火狐浏览器输入服务器 ip 和端口号,ip 为开发板 ip,端口号默认为 8080

http://192.168.1.120:8080/

 

 

能看到图像说明移植成功。

 

posted on   topeet  阅读(163)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2017-09-07 迅为嵌入式4412平台兼容3G/4G模块的安卓开发板
2015-09-07 [嵌入式学习资料]ARM开发学习详解iTOP-4412开发板使用手册

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示