您的位置:首页 > 运维架构

基于DragonBoard 410c的远程家居监控平台四之远程图像传输(下)

2017-04-06 14:03 246 查看
一.背景

这个系列博客博主给大家分享了如何利用motion建立局域网内的基于DragonBoard 410c远程家居监控系统,包括手机远程监控摄像头以及移动物体的实时侦测功能。不过有些童鞋跟博主反馈,motion传输的图像有时会有卡顿现象,今天我们一起来解决这个问题。

二.思路

1.motion卡顿原因分析:

         a.摄像头传输的像素与帧率过大,CPU占用率过高;

 b.接了YUV的摄像头,410c内部一直在执行YUV转MJPG动作;

         c.motion的移动侦测功能太灵敏占用过多系统资源。

 综上所述,在保证camera的动态图像质量的前提下,最直接的方式就是更换成MJPG流的摄像头,同时根据实际情况降低motion移动侦测的灵敏度(加大移动侦测的像素点个阀值)。实测是可以将CPU占用率从90%降低到60%左右。

 但其实,博主今天是想借此推荐一个更轻量级的框架------[b]Mjpg-stremaer[/b]

三.Mjpg-stremaer

1.介绍

Mjpg-stremaer跟motion一样,是一款开源的视频流分发处理框架,但相对于motion来说,其代码架构及设计<
4000
/span>

更加简洁高效。





图1 Mjpg-streamer代码目录



图2 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.使用

启动指令:

[b]./mjpg_streamer -i "./input_uvc.so -d /dev/video0
-n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"
[/b]

PC端打开火狐浏览器(目前仅有两三款浏览器支持MJPG视频流显示),并输入地址:410c的IP:8081
如我这里输入的是192.168.0.101:8081,即可观察到图像(这里因为我们只是构建内网,请保证PC端与410c处于同一网段下,后续会教大家如何开放外网访问)


四.实测效果





图3 客户端实时显示图像
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: