Qualcomm DragonBoard cpu
一.背景
这个系列博客博主给大家分享了如何利用motion建立局域网内的基于DragonBoard 410c远程家居监控系统,包括手机远程监控摄像头以及移动物体的实时侦测功能。不过有些童鞋跟博主反馈,motion传输的图像有时会有卡顿现象,今天我们一起来解决这个问题。
二.思路
1.motion卡顿原因分析:
a.摄像头传输的像素与帧率过大,CPU占用率过高;
b.接了YUV的摄像头,410c内部一直在执行YUV转MJPG动作;
c.motion的移动侦测功能太灵敏占用过多系统资源。
综上所述,在保证camera的动态图像质量的前提下,最直接的方式就是更换成MJPG流的摄像头,同时根据实际情况降低motion移动侦测的灵敏度(加大移动侦测的像素点个阀值)。实测是可以将CPU占用率从90%降低到60%左右。
但其实,博主今天是想借此推荐一个更轻量级的框架------Mjpg-stremaer
三.Mjpg-stremaer
1.介绍
Mjpg-stremaer跟motion一样,是一款开源的视频流分发处理框架,但相对于motion来说,其代码架构及设计
更加简洁高效。
图1 Mjpg-streamer代码目录
2.安装
sudo apt-get update
sudo apt-get install subversion
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install
3.使用
启动指令:
./mjpg_streamer -i "./input_uvc.so -d /dev/video0
-n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"
PC端打开火狐浏览器(目前仅有两三款浏览器支持MJPG视频流显示),并输入地址:410c的IP:8081
如我这里输入的是192.168.0.101:8081,即可观察到图像(这里因为我们只是构建内网,请保证PC端与410c处于同一网段下,后续会教大家如何开放外网访问)
四.实测效果
图3 客户端实时显示图像
更多回帖