论文部分内容阅读
随着经济的发展,人们对子女教育的要求也在逐渐提升,近些年中小学生的校园安全事件频繁发生,使得家长更加关注学生在校的生活情况,基于这些问题一些企业适时推出了家校通系统,更方便地联系了家长和学校。视频监控是家校通系统中的重要组成部分,随着移动互联网的高速发展,将监控视频画面转移到手机上已经是大势所趋。为了实现家校通系统的移动应用更高效地播放监控视频,本文通过对在线视频播放的研究,实现了一套在iOS设备上使用的轻量级视频播放框架,该框架能够对采用RTSP传输协议的流媒体进行流畅播放。针对轻量级iOS视频播放器框架的实现,本文主要研究了以下几个问题:第一,精简视频框架FFmpeg。传统播放器因为支持众多的流媒体传输协议和视音频编码格式,需要大量的协议解析模块和解码器。家校通系统使用的在线视频网络传输协议单一,视音频采用的编码格式已知,所以本文通过对FFmpeg的研究,剔除在项目没有使用的网络模块和解码模块,将FFmpeg精简到了原规模的7.81%。第二,播放器模块的封装。为实现播放在线视频并提供简单方便的交互方式,播放器框架采用iOS系统中常用.framework模式,.framework模式只需暴露较少的头文件,就可以实现全部与播放相关的功能;播放事件传递采用了iOS系统通知的方法,对不同的事件设计特定的键值,外界通过键值监听系统通知就能获得对应事件的消息。第三,播放框架的性能优化。大量重复的解码工作和视图绘制渲染会过多地使用CPU等资源,这是造成播放器性能低下的主要原因。对于视频解码的优化,本文优先采用VideoToolbox框架进行硬件解码,转移了视频解码的对CPU压力;大量视图渲染的优化采用的是OpenGL ES框架,该框架将主要的渲染工作转移到了GPU,减少了CPU的工作量。论文的最后对视频播放器框架进行了测试,整个框架占用的ROM空间只有9.8MB,完全符合预期;通过与其他实现方法对比,播放器在运行时的性能表现出很大优势,与业内其他产品对比也处于领先或者持平状态。目前该框架已运用到了对应的移动产品中,符合项目的需求。