搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-6-15 09:50:50 7221 浏览 0 回复

i.MX6开发板QT系统Mjpg-streamer移植实现远程监控

本帖最后由 翠花儿 于 2021-6-15 09:55 编辑

本文档介绍移植 MJPG库和mjpg-streamer服务器到迅为i.MX6Q开发板上,并将采集到的图像通过网络在PC机上显示出来,交叉编译工具为arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,摄像头为USB免驱摄像头。
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
解压完后如下图所示:
然后在此目录下创建文件夹_jpeg_install用来存放编译生成文件,输入以下命令:
mkdir _jpeg_install
进入jpeg-8b文件夹,执行以下命令配置编译选项:
./configure --prefix=/home/topeet/iMX6Q/mjpg/_jpeg_install --host=arm-none-linux-gnueabi
参数说明:
--prefix=/home/topeet/iMX6Q/mjpg/_jpeg_install :为上步创建的文件夹路径,根据实际填写。
--host=arm-none-linux-gnueabi:为交叉编译工具的名字。
完成后如下图:
执行make编译,完成后如下图:
执行make install,完成后如下图:
进入_jpeg_install文件夹查看,有以下所示文件即为成功:
将_jpeg_install的/lib/下的库文件通过ssh拷贝到开发板的/lib/目录下(本教程提供的QT5.7系统带ssh功能),拷贝到开发板如下图所示:
2 移植mjpg-streamer服务器
mjpg-streamer是一个命令行应用程序,可通过网络将JPEG文件从网络摄像头流传输到各种类型的查看器,例如浏览器,mplayer等其他能够接收MJPG流的软件。
在mjpg文件夹下输入以下命令下载文件(本文档附带的资料包里面也有下载好的压缩包),目录下多出以下文件如下图所示:
svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml13208\wps10.jpg
进入mjpg/mjpg-streamer-code/mjpg-streamer/文件夹下,执行命令make clean
修改编译选项,如下图所示,输入命令“grep “CFLAGS” * -nR”,搜索“CFLAGS”:
根据搜索出来的信息,进入mjpg/mjpg-streamer-code/mjpg-streamer/plugins文件夹,修改/plugins/input_uvc/Makefile,第15行添加
CFLAGS +=  -I /home/topeet/iMX6Q/mjpg/_jpeg_install/include/
第25行改为:
LFLAGS += -L /home/topeet/iMX6Q/mjpg/_jpeg_install/lib/ -ljpeg
完成后如下图:
回到mjpg-streamer目录下,执行
make CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc编译,如下图所示:
在目录下会生成.so库文件和mjpg_streamer,
将.so文件通过ssh拷贝到开发板的/lib/目录下,将mjpg_streamer文件夹通过ssh拷贝到开发板的/bin/目录下,将www通过ssh拷贝到/opt/目录下,准备工作完成,接下来进行测试。
3 测试
测试过程中要保证开发板网络畅通,作者连接了有线网,并且能够ping通Ubuntu,我们将usb免驱摄像头插入开发板usb口,插入后,串口打印以下信息,然后输入lsusb命令,发现摄像头已经被识别到。
根据start.sh文件,输入以下命令测试,:
mjpg_streamer -i "input_uvc.so -d /dev/video2 -r 320x240 -f 30 -yuv" -o "output_http.so -w  /opt/www"
下方会显示端口号:
然后在浏览器输入服务器ip和端口号,ip为开发板ip,端口号默认为8080,
http://192.168.1.230:8080/
如下图所示,能看到图像说明移植成功。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表