明远智睿技术论坛

标题: 网页监控--Mjpg‐streamer移植 [打印本页]

作者: myzr_soft    时间: 2019-10-25 09:26
标题: 网页监控--Mjpg‐streamer移植
本帖最后由 myzr_soft 于 2019-10-25 09:24 编辑

主机平台: UBUNTU14.04
硬件平台:明远智睿MY-IMX6-EK200-6Q-1G
内核版本 :linux-4.1.15
交叉编译链:arm-poky-linux-gnueabi
文件系统:L4115-fsl-image-qt5-myimx6a9.tar.bz2


下载:
[attach]517[/attach][attach]518[/attach]

配置交叉工具:
$ source /home/myzr/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

JPEG库:
$ tar xzvf jpegsrc.v9c.tar.gz
$ cd jpeg-9c/
$ ./configure  --host=arm-poky-linux --prefix=/home/myzr/jpeg --enable-shared --enable-static
$ make
$ make install

$ cd
$ tar xzvf mjpg-streamer-r63.tar.gz
$ cd mjpg-streamer-r63/
$ vi plugins/input_uvc/Makefile

将:CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
修改为:CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/myzr/jpeg/include

将:$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
修改为:$(CC) $(CFLAGS) -L/home/myzr/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo


$ make CC=”arm-poky-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/myzr/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi”

出现错误:fatal error: linux/videodev.h: No such file or directory
原因:这是因为内核2.6.38和以后的版本已经移除了对 v4l1 的支持,新的头文件是 video4linux2.h;相比v4l1很多接口都变化。

将头文件复制到工具链:[attach]519[/attach]

$ cp videodev.h ~/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/linux/

$ make CC=”arm-poky-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/home/myzr/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi”

$ mkdir install
$ cp *.so install/
$ cp mjpg_streamer install/
$ cp start.sh install/
$ cp www install/ -r

将/home/myzr/jpeg 文件夹复制到开发板
将/home/myzr/mjpg-streamer-r63/install 文件夹复制到开发板

在开发板上执行:
# cp jpeg/lib/* ~/install/
# cd install/
# vi start.sh

根据具体情况修改start.sh
mjpg-stream支持JPEG和YUV两种格式,由于我使用的usb摄像头是YUV格式的,所以在输入中加入"-y" :

./mjpg_streamer -i "input_uvc.so -y -d /dev/video2 -r 640x480 -f 10"

# ./start.sh

然后再浏览器上输入:http://192.168.137.81:8080/?action=stream
192.168.137.81为开发板的IP
效果图:
[attach]520[/attach]







欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2