TOP

基于物联网的视频系统的实现
2019-03-22 16:24:31 来源: 作者: 【 】 浏览:6015

第八届大赛--A组赛题


赛题名称: 基于物联网的视频系统的实现

组类: A 本科及以上   

赛题简介:介绍整个赛题的思路和整体要求

 视频监控系统在各行各业得到广泛的应用。但是由于视频对网络带宽要求比较高,限制了视频系统在某些网络条件苛刻环境的应用。

物联网采用的网络媒体,一般具有带宽窄,网络连接不安定的特点。很难满足通用视频监控系统对网络的要求。本课题的目标是实现物联网环境下的视频监控解决方案,面向监控对象变化缓慢,降低监控视频的帧率对不会影响监控效果的应用场景;同时满足当有异常事物闯入造成监控画面短时剧烈变化时提高视频帧数以达到监控目的应用场景。

系统的要求如下:

1) 系统包括视频采集端和视频服务器端。视频采集端从摄像头获取视频,根据视频画面的变化率决定视频发送到服务器的帧率。服务器接收视频,并保存视频文件到本地磁盘。视频保存格式要求与HTML5协议兼容的mp4。

2) 视频采集端采用UDP协议,将视频数据发送给服务器,以适应物联网连接不安定的网络特点。带宽占用的峰值按20k/s往上,每增加10k为一档,消耗带宽越低的在带宽子分项中评分越高。

3) 视频采集软件在实现视频变化检测算法时,尽可能的考虑各种干扰因素。在视频没有变化时采用固定帧率发送视频,在有异常事物闯入造成视频剧烈变化时,要尽快传输视频。

4) 视频采集端建议采用树莓派开发板(树莓派3b+),摄像头采用海康网络设想头(萤石 C6C 1080P云台网络摄像机),要求不能改变视频摄像头原始分辨率。树莓派安装ubuntu MATE 操作系统,视频采集软件在树莓派启动后自动运行。并提供接入摄像头IP的设置方法。

5) 可以采用视频采集端向服务器端发图片的形式来降低带宽消耗,但服务器端要将视频重新连接成视频,同时要保证与传输视频同样好的视觉效果。

6) 服务器端接收到视频后,如果能将视频通过视频发布服务器(Red5、Nginx或其他)再发布出来,可加分。

7) 要求参赛团队向组委会提交如下成果物:

树莓派开发板:视频采集软件已安装完成,启动即可执行。电源可以不提供。

视频服务器软件:Windows版或Linux版。

源代码:视频采集软件和服务器软件的原代码。

系统使用说明书:要求说明包括软件的设计思路说明、架构设计说明、UDP自定义应用层协议说明、依赖的外部软件包说明、安装配置说明。格式不限。

 

背景说明:

 物联网传感器网络的优点是部署方便,功耗低,成本低,可以部署在比较恶劣的环境。但网络带宽低,可靠性差。 

因此,目前各种物联网协议(如MQTT,GoAP)都为应对这种网络而设计,但这些协议不适合视频监控这类大数据量传输的应用。本题目的目的是设计一套基于UDP协议的轻量级的应用层协议,通过增加数据传输的时间,将视频数据传输出来,再通过服务器端的处理,优化视频的显示效果,满足对低变化率场景的视频监控应用。

题目要求学生挑战有3个方面:

1)设计一套协议

2)要很好的管理网络的连接状态,保证数据的安全传输

3)要求具备比较高的图像与视频的压缩、解码的相关知识以及图像处理的相关算法知识。

 对参赛选手的在算法及计算机基础理论知识、软件编程技巧都有比较高的挑战。

赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景

  在大量的野外视频监控系统中,网络部署比较困难,往往采用不安定的无线网络搭建视频监控系统。在该场景下,视频变化率很低,系统只需要扑捉短时的异常变化即可。该系统可以大大降低视频系统对网络的要求,同时不降低视频监控的效果。课题要求实现大幅降低网络消耗的要求,对视频变化率的比较算法的实现可以简化。

功能性需求

1)在视频基本没有变化时,最大可以10分钟更新一次视频显示。用户看到的视频效果为幻灯片的模式。

2)在视频变化率比较大时,尽可能实时显示视频。并且尽量不要丢帧,视频延时通过服务器端的缓存保证视频的完整。

3)要求自定义UPD应用层协议,保证视频帧传输时不丢包。

4)视频编码采用mp4格式,在支持HTML5的浏览器上不需要安装任何视频播放插件即可显示。

5)要求在服务器端可以看传输上来的视频。

6)服务器端视频录制和向视频发布服务器视频为2选1实现功能。
 

非功能性需求

1) 尽量少依赖不必要的外部库,避免引用比较重的库,实现非核心的功能。

2) 代码整洁,易读;代码的目录结构合理。

3) 部署容易,对硬件要求尽量低。

4) 经过基本的测试,可以保证系统流程、安定的运行。 

其他限制条件:开发环境、实验平台、开发语言、数据库、编译器等限制条件(请尽量明确)

采用 C/C++ 或 Java开发,如果用C/C++开发,要可在Linux下编译并安定运行;采用Java开发,需要采用Version 8 Update 201 64bit版。 

测试数据或平台:提供给参赛者的测试环境和测试数据。(可提供电子档)

Linux下的网络检测软件采用nethogs 

 

开发所需设备及设备指标需求说明

开发板: 树莓派3b+

摄像头: 海康 萤石 C6C 1080P云台网络摄像机



 

其他要求


出题企业:北京点石通科技有限公司


答疑方式:罗老师  dshluo76@163.com







关键字: 责任编辑:cnsoft
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇旅客行程智能推荐系统 下一篇华东分赛区--基于移动端在线设备..

相关栏目