新闻  |   论坛  |   博客  |   在线研讨会
网页监控--Mjpg‐streamer移植
Myzr888 | 2019-10-28 10:00:45    阅读:263   发布文章

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


下载:


配置交叉工具:
$ 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很多接口都变化。

将头文件复制到工具链:

$ 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
效果图:


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客