本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TI AM62开发板)的部署流媒体服务实现监控功能方案的开发测试。
摘自优秀创作者-HonestQiao

米尔基于TI AM62开发板



米尔-TI AM62x开发板除了可以用官方的CSI摄像头,还可以直接使用第三方的USB摄像头,我手头正好有几个个USB摄像头:


经过实测,可以很好的在米尔-TI AM62x开发板上使用。

这篇分享,就是在这块开发板上部署流媒体服务,通过USB摄像头实现监控功能。

一、软件准备

要在Linux上面部署流媒体服务,mjpg-streamer是最合适的。

首先,在应用开发环境中,进行 mjpg-streamer 跨平台编译,具体步骤如下:

git clone  
  • cd mjpg-streamer/mjpg-streamer-experimental

  • find -name "Makefile" -exec sed -i "s/CC = gcc/#CC = gcc/g" {} ;
  • grep -rn 'CC = gcc' *

  • make clean
  • make

  • file mjpg_streamer
  • # mjpg_streamer: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=48d2a902d1672913291a75a055d224d340d77649, for GNU/Linux 3.14.0, with debug_info, not stripped
  • 复制代码

    上面代码步骤中,使用find+sed,来替换Makefile中的CC配置。

    因为应用开发环境提供了CC变量,可以直接使用。

    将最终编译出来的mjpg_streamer,部署到开发板上备用,具体如下:

    ssh [url=mailto:root@192.168.10.11]root@192.168.10.11[/url] "mkdir ~/mjpeg_server/"
  • scp mjpg_streamer [url=mailto:root@192.168.10.11]root@192.168.10.11[/url]:~/mjpeg_server/
  • scp *.so [url=mailto:root@192.168.10.11]root@192.168.10.11[/url]:~/mjpeg_server/
  • 复制代码

    最终,开发板上部署的文件如下:



    二、摄像头信息获取

    米尔官方的系统,提供了v4l2工具,可以直接使用。

    1. 查看当前的摄像头设备:

    v4l2-ctl --list-devices
    复制代码


    可以看到,找到了USB接口的摄像头,对应的设备地址为 /dev/video0


    2. 查看摄像头的支持的格式类型

    v4l2-ctl --list-formats -d /dev/video0
    复制代码




      3. 查看摄像头的具体参数:

    v4l2-ctl -D -d /dev/video0
    复制代码



    三、流媒体服务启用

    前面安装好了mjpeg_server,现在可以启用测试了:

    cd ~/mjpg_streamer
  • ./mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -r 640x480 -f 10" -o "output_http.so -p 8081 -w ./ -c test:test123"
  • 复制代码

    上述命令中,使用/dev/video0做为输入,分辨率为640x480,输出端口为8081。

    为了安全起见,设置了一个简单的账户密码test/test123。实际使用中,应该使用复杂的用户名和密码。

    成功后,显示如下表示成功:




    启动成功后,就可以通过网址 http://192.168.10.11:8081/?action=stream 进行访问了。其中192.168.10.11为开发板的地址。

    整体环境如下:




    实际操作效果如下:   



    四、总结

    从上面的实测视频可以看到,视频流的延迟非常非常低低,而且也非常的流畅,没有丝毫的卡顿。

    另外,也看了一下当时的CPU负载:



    资源占用非常低。

    不过,有一点小小遗憾的是,该开发板暂时还不支持双USB摄像头,不然可以上多个一起玩了。

    总的来说,虽然米尔-TI AM6231属于米尔-TI AM62x中三个型号的最低配版本,但是做一下工业基础应用,完全足够了。