明远智睿技术论坛
标题: 网页监控--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
192.168.137.81为开发板的IP
效果图:
[attach]520[/attach]
欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) |
Powered by Discuz! X3.2 |