野火imx6ull开发板移植mjpg-streamer实现远程监控

安装MJPG-Streamer

借鉴链接:https://blog.csdn.net/mucheni/article/details/109447610

准备条件

个人配置:Ubuntu18.04, 野火imx6ull开发板

野火Imx6ull使用的是Debian,不同于buildroot环境,需要手动移植MJPG 库到开发板上

MJPG 库下载地址:http://www.ijg.org/files/,选择版本jpegsrc.v8b.tar.gz
在这里插入图片描述

mjpg-streamer安装

新建文件夹mjpg:

mkdie mjpg

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

接着新建jpeg_install,这是后面编译生成的文件所在地, 进入 jpeg-8b 文件夹,执行以下命令配置编译选项:

./configure --prefix=~/mjpg/jpeg_install --host=arm-linux-gnueabihf

参数说明:
–prefix=~/mjpg/jpeg_install:为jpeg_install文件夹绝对路径,根据自身情况填写。
–host=arm-linux-gnueabihf:为交叉编译工具的名字。

在这里插入图片描述

执行make编译
在这里插入图片描述

执行make install

然后进入jpeg_install 文件夹下查看

在这里插入图片描述
将jpeg_install 的/lib/下的库文件拷贝到开发板的/lib/目录下:

PC端:

cp -d *jpeg* ~/nfs_rootfs/My_Lib/mjpg-lib/

开发板:

sudo cp -d *jpeg* /lib/

在这里插入图片描述

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-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

在这里插入图片描述

进入 plugins 文件夹,修改 plugins/input_uvc/Makefile

vi plugins/input_uvc/Makefile

第 15 行添加

CFLAGS += -I /home/xfy/mjpg/jpeg_install/include/

第 25 行改为:

LFLAGS += -L /home/xfy/mjpg/jpeg_install/lib/ -ljpeg

在这里插入图片描述
回到 mjpg-streamer 目录下,执行 make 编译,在目录下会生成:

  • .so 库文件:移植到/lib,提供动态库
  • mjpg_streamer:移植到/bin,提供可执行命令
  • www:移植到/opt,摄像头输出的网页
    在这里插入图片描述

开始移植:

PC端:

xfy@xfy :~/mjpg/mjpg-streamer-code/mjpg-streamer$ cp *.so start.sh mjpg_streamer ~/nfs_rootfs/My_Lib/mjpg-server/
xfy@xfy :~/mjpg/mjpg-streamer-code/mjpg-streamer$ cp www ~/nfs_rootfs/My_Lib/mjpg-server/ -rdf

开发板端:

sudo cp *.so /lib/
sudo cp mjpg_streamer /bin/
sudo cp www /opt/ -rdf

在这里插入图片描述

到这我们就完成全部移植了,运行以下命令测试

 mjpg_streamer --help

在这里插入图片描述

说明成功移植到开发板上

 mjpg_streamer -i "input_uvc.so -d /dev/video1" -o "output_http.so" 

input_uvc.so -d:打开设备节点 /dev/video1

output_http.so:输出信息通过http发送出去

测试

开发板执行:

检测摄像头,我这边使用video0

ls /dev/video*

配置IP,配置完使用ifconfig查看,eth1是我接的网口

ifconfig eth1 192.168.1.6   

运行mjpg_streamer,进行测试

mjpg_streamer -i "input_uvc.so -d /dev/video0 -f 30 -q 90 -n" -o "output_http.so -w /opt/www"

得到

在这里插入图片描述

端口号为8080

PC端执行:

打开浏览器:输入192.168.1.6:8080

能打开说明已经成功了,实验结果

在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值