物联网之mjpeg-streamer视频图像的显示

Ubuntu 下调试摄像头

 1. 安装 xawtv 测试软件

#sudo apt-get install xawtv

2. 执行 xawtv 后面带 usb 摄像头的设备节点

#xawtv /dev/video0

驱动移植过程

make menuconfig           //这里我将两种摄像头的移植都放上去

1、添加驱动支持USB储存设备

Device Drivers  --->

        [*] USB support  --->

                <*>     EHCI HCD (USB 2.0) support

                <*>     EHCI support for Samsung S5P/EXYNOS SoC Series

                <*>     USB Mass Storage support

                <*>   USB3503 HSIC to USB20 Driver

                USB Physical Layer drivers  --->

                        <*> Samsung USB 2.0 PHY controller Driver

        SCSI device support  --->

                <*> SCSI device support

                <*> SCSI disk support

2、选中 Multimedia support

 Device Drivers --->

        <*> Multimedia support --->

进行如下配置:

3、再进入 Media USB Adapters

Device Drivers --->

        <*> Multimedia support --->

                <*>Media USB Adapters --->

进行如下配置:

4、进入 GSPCA base webcams

Device Drivers --->

        <*> Multimedia support --->

                [*]   Cameras/video grabbers support   //这个必须先选中

                <*>Media USB Adapters --->

                        <*>GSPCA based webcams  ---> 

进行如下配置:

5、进入 V4L platform devices

Device Drivers --->

        <*> Multimedia support --->

                <*>V4L platform devices --->

进行如下配置:

6、编译内核

make uImage

重新拷贝到我们的tftp目录下。

mjpg-stream的移植

1、jpeg源码包下载链接:https://pan.baidu.com/s/1-u_FnaYOzMeSHCkZykv1OQ 密码:b0f0

2、解压源码包: tar xvf jpegsrc.v8b.tar.gz

3、配置源码

      cd jpeg-8b

      ./configure --prefix=/home/fengjunhui/smartstorage/mjpeg-streamer/video/jpegarm--host=arm-none-linux-gnueabi

      (注意:此处必须使用绝对路径,--host=arm-none-linux-gnueabi  末尾不能加-)

4、编译

      make

5、安装

      make install

      (如果直接make install出现错误,则按照下图所示步骤操作即可,其中两个箭头处可以都填写1,具体错误分析见:

       https://blog.csdn.net/wang_walfred/article/details/38900393

6、拷贝库到文件系统中

      sudo cp /home/fengjunhui/smartstorage/mjpeg-streamer/video/jpegarm/lib/* /nfs/rootfs/lib  //将/video/jpegarm/lib/目录下的所有文件拷贝到/nfs/rootfs/lib目录下

移植mjpg-streamer

1、源码下载链接:https://pan.baidu.com/s/1qPGFwqb683sgD05oZ2ro9A 密码:z24f

2、解压源码:unzip mjpg-streamer-code-182.zip

进入目录一共有 这么多目录

    doc mjpg-streamer udp_client

    mjpeg-client mjpg-streamer-experimental uvc-streamer

    mjpg-streamer :目录下提供了 的执行程序和各个输入输出设备组件

    uvc-streamer   : 目录下提供了 uvc-streamer的可执行目录

    mjpeg-client: : 分别有 linux和windows 的客户端

3、进入mjpg-streamer目录

4、修改源码

vi plugins/input_uvc/Makefile

修改

CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I /home/fengjunhui/smartstorage/mjpeg-streamer/video/jpegarm/include

修改

$(CC) $(CFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS)

$(CC) $(CFLAGS) -L /home/fengjunhui/smartstorage/mjpeg-streamer/video/jpegarm/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS)

注:/home/fengjunhui/smartstorage/mjpeg-streamer/video/jpegarm/lib就是上面移植jpeg库后生成的lib、include的目录

5、编译

make CC=arm-linux-gcc

在mjpg-streamer生成了 input*.so output*.so 和 mjpg_streamr 可执行文件

6、在开发板建立mjpg-streamer安装目录

mkdir /nfs/rootfs/mjpg-streamer (你的根文件系统目录)

 拷贝相关文件

cp *.so  /nfs/rootfs/mjpg-streamer  -arf

cp mjpg_streamer /nfs/rootfs/mjpg-streamer  -arf

修改start.sh文件

vi start.sh

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

修改为

./mjpg_streamer -i "./input_uvc.so -y" -o "./output_http.so -w ./www"

将源码目录中的start.sh和目录www拷贝到/nfs/rootfs/mjpg-streamer/目录下,然后就可以测试啦 

sudo cp start.sh www/ /nfs/rootfs/mjpg-streamer/ -arf

摄像头连接板子测试

1、测试的板子先连接好摄像头

2、启动板子,进入mjpg-streamer目录,运行start.sh

cd mjpg-streamer

./start.sh

3、虚拟机中打开浏览器,输入 http://192.168.31.66:8080/?action=stream 就可以看到图像了

      (ip地址是板子的ip地址)

猜你喜欢

转载自blog.csdn.net/weixin_39148042/article/details/81269763