论文部分内容阅读
近年来,随着国民经济的不断发展,视频监控技术已经在政府、教育、娱乐、医疗、公共交通等众多领域得到了广泛的应用。传统的视频监控系统主要基于有线网络进行监控,具有系统布线复杂、铺设成本较高以及灵活性较差等缺点,无法满足人们随时随地进行监控的需求。随着无线网络技术的不断发展、智能手机硬件水平的不断提高,移动视频监控系统得以实现,并在实际应用中显示出极大的竞争优势。本文基于Android平台,对移动视频监控系统的实现过程进行研究。本文针对移动视频监控系统的视频编码、传输、组包、解码以及视频播放等环节进行了详细的介绍。首先,移动视频监控系统有别于传统的视频监控系统,需要通过无线网络进行数据传输。由于无线网络带宽有限且稳定性较差,’因此本系统采用图像压缩比率较高、网络适应性强的H.264编码标准进行编码。其次,在数据传输方面传统的方式是采用RTP协议与RTCP协议配合进行数据传输。由于这种传输方式实现较为复杂,因此本文采用一种自定义的通用消息头结构对视频数据进行传输,以降低数据传输的复杂度。然后,本系统为了提高视频监控的时效性,采用UDP协议作为系统传输层协议。由于UDP协议是不可靠传输协议,因此在数据传输过程中不可避免地会出现丢包的现象。系统对丢包现象进行了精细的处理,避免出现由于数据丢包造成的播放画面的花屏或卡顿的现象。再次,对于视频数据的解码过程,Android系统自带的多媒体处理控件OpenCore有被Stagefright取代的趋势,而Stagefright控件又有支持的文件格式较少且不稳定的缺点。与Android系统自带的多媒体处理引擎相比,FFmpeg具有跨平台、框架稳定、支持文件格式较多等优点,因此本系统采用FFmpeg对视频数据进行解码。本文对于FFmpeg的编译过程也进行了详细的讲解。最后,对于视频数据的播放,本系统分为历史视频数据和实时视频数据两种情况进行处理。系统将耗时的逻辑操作放入子线程中进行,避免了由于频繁地更新UI线程造成线程阻塞现象的发生。通过实践证明,本文提出的基于Android平台的移动视频监控系统,能够满足实际项目需求,具有较好的监控效果。