摘要利用视频实现对机器人的监视和控制是远程机器人实验系统构建的重要组成部分,目前视频传输技术和目标识别算法都比较成熟,本文将这两项技术加以结合,依据实验室实际情况,在服务器端通过 FFmpeg 实现实时监控视频的编码与 RTMP 协议推流,在客户端,则利用Flash播放器接收 RTMP 协议流,并播放,同时基于TCP设计了数据传输系统,保障了服务器与客户端的可靠通信。而在在机器人运行出安全区域后,服务器端程序能通过背景差分法,识别出该状况,以便系统处理。 41657
毕业论文关键词 视频监控;FFmpeg;TCP传输;背景差分
Title Design and Implementation of Remote Robot Experiment System: Video Transition and MonitoringSystem
Abstract Using the video to monitor and control the robot is an important part of a remote robot experiment system. Currently the supervising technology and the ag of Object recognition are well developed. In this paper, I combine them in one system. In the serve, FFmpeg is used to encode the video stream and implement the RTMP protocol while Flash Player is used to access the video steam in the client. Also, a data transport protocol is designed based on TCP\IP to ensure reliable data transmission. To guarantee the safety, once the robot get out of the security zone, the server will recognize it using the background image difference.
Keywords Video Surveillance; FFmpeg; TCP Transport; Background Image Difference
目次
1引言.1
1.1研究背景1
1.2研究现状1
2系统分析与建模.3
2.1系统介绍3
2.2需求分析与UML建模3
2.3模块划分4
3实时视频流的捕捉、编码、传输与播放.6
3.1FFmpeg简介.6
3.2流媒体服务器与RTMP传输协议.7
3.3H.264编码格式8
3.4程序实现9
3.4.1媒体流的获取9
3.4.2视频流编码与推送9
3.4.3AMS5配置与Flash内嵌.12
3.5测试与评价.12
4基于背景差分的机器人监控14
4.1背景差分算法.14
4.2背景的获取与更新.14
4.3基于动态阈值的差分算法.15
5命令与文件的传送18
5.1TCP/IP协议18
5.2协议设计.18
5.3编程实现.20
5.3.1Server类.21
5.3.2服务器DATAsocket类21
5.3.3客户端DATAsocket.23
5.3.4通信的编程与实现.23
6系统实现24
6.1基于CEdit类的状态显示栏的设计.24
6.2基于SDL的摄像头视频显示.24
6.3系统实现.25
6.4系统测试.27
结论.28
致谢.29
参考文献30
1 引言 1.1 研究背景 远程机器人实验系统是一套实验者利用网络传输实验任务、控制系统自动完成机器人实验的系统,其系统结构如图 1.1 所示,实验者在远端通过个人电脑登陆实验室服务器,向实验室服务器传输控制指令和实验文件,服务器将响应指令,并依据实验文件对机器人下达命令,同时,服务器会将摄像头采集的实验视频压缩 编码后传输给实验者,实验者将可以实时观看自己的实验结果,并且如果机器人出现异常情况,服务器将会对机器人进行紧急控制,避免意外的发生。一套完善的远程机器人实验系统不需要管理员24小时值守,只需定期进行简单文护,而作为实验者的师生,可以依据自己的需求,灵活安排实验时间,这将很好地提高实验室的利用率,降低实验室的人工文护成本,有利于机器人实验的推广教学。 图1.1 机器人远程实验室系统结构 远程机器人实验系统的核心问题是实现远程命令的输入和机器人的控制,对此国内外都有很多比较优秀的解决方案[1; 2],但是,这些设计中并没有对系统的安全进行考虑,并没有涉及相应的安全监控模块。而事实上,由于实验者可能不具有一定的机器人实验经验,所以可能对相关指令的运行要求并不清楚,又或者,实验文件中存在隐藏 bug,这都可能导致昂贵的机器人设备被损坏,这就要求有专人来监督实验室的状况,而这明显与远程实验室系统的设计初衷相违背,不利于提高实验室的利用率。因此,视频监控系统虽然不是机器人实验系统的核心,但是在系统的实现时,构建一个安全可靠的视频监控系统将是不可或缺的一部分。 远程机器人实验系统的视频传输与监控系统设计与实现:http://www.youerw.com/zidonghua/lunwen_41776.html