Android手机端远程监控系统的设计与实现

被引量 : 0次 | 上传用户:donghao3000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于原本在Windows平台上的用户提出希望能够在移动设备上实时查看监控影像的强烈需求,且目前Android手机平台上网络监控实时影像播放软件由于没有合适的文件解析器而稀缺,因此决定开发本款软件。到目前为止,专业的监控摄像头通常支持采用MJPEG、MPEG-4或者H.264格式来封装影像数据并进行发送。MJPEG格式的数据都是采用了HTTP(Hypertext TransferProtocol)协议进行传输。当摄像头采用MPEG-4格式或是H.264格式封装视频数据时,通常采用RTP(Real-time Transport Protocol)协议进行传输。本文设计开发一款能够在装载了Android系统的手机上实时播放远程监控摄像头所拍摄影像的应用软件。本软件使用JAVA语言实现了对摄像头通过HTTP协议和单播的RTP协议发送的流数据的接收。使用HTTP协议获取到MJPEG流数据后,编写了解析的函数,将MJPEG流数据拆分成单张的JPEG图像数据,然后使用Android自带的JPEG解码库进行了解码。虽然监控摄像头使用的编码格式都是相对使用较为广泛的视频标准,但是由于实时的视频流数据都是一边获取一边发送的,因此没有文件的长度值,这点与存储在磁盘上的视频文件不同。由此造成播放MPEG-4和H.264的流数据时在文件解析的部分就无法成功,导致无法正常播放。本软件使用C语言封装了对MPEG-4数据流的解析以及解码库的调用接口,使用JAVA语言实现了针对摄像头发送的H.264格式的TS(TransportStream)流的解析工作:从视音频混合的TS流中剥离出视频数据并解析成H.264格式解码所需的NAL(Network Abstraction Layer)单元后通过JNI(Java Native Interface)送入解码库进行解码。目前大部分的手机不能直接对摄像头捕获的实时视频流进行解码的原因就在于没有对应的文件解析器。监控图像的播放还需要确保图像数据的正确性以及在时间上的实时性,这两者之间存在着相互影响的因素。对于这个准确性的控制本文采用丢帧管理机制来完成。由于网络传输环境复杂,会发生数据包丢失的情况,数据包的丢失将会导致图像解码发生错误,一旦检测发现这种情况,就需要将与之相关的数据一同丢弃。由于监控影像还需要确保显示图像与摄像头捕获图像之间的时间差不能太大。由于设备的软件或者硬件的性能以及网络传输能力的限制导致不得不丢弃某些来不及处理的数据,本文设计使用三个位于不同线程的缓冲区对主动丢帧和被动丢帧的情况采取控制,防止由于丢帧产生的解码错误。此外,还结合了手势识别和多点触摸的功能实现了从手机端控制远端摄像头动作的功能。由于不同厂家设计的摄像头的API(Application Programming Interface)不同,会造成开发出的应用程序的兼容性差,无法形成产品。本软件采用定义外部标准配置文件来解决这一问题。
其他文献
在我国,少数民族(广西壮族除外)一直实行的是宽松的人口政策,通过分析各少数民族的生育水平发现,大多数民族的实际生育率都低于政策生育率,主要是受生育障碍和主动放弃生育机
社会变迁:我国从单位制刚性体育文化向多样化变化,从单一性体育文化活动向多样化转变;进入后奥运时代单纯的为国争光的竞技体育,同时向体育休闲审美活动、全民健身运动协调发
近年来,居住区园林景观越来越受到重视,如何在园林景观设计、建设及后期养护过程中节约资金,建设耗费少、成果大、又使居民获得满足的园林景观,成了开发商十分关注的问题。成本管
自从数据仓库的概念出现以来,首先被应用于金融、保险、电信等传统的数据处理密集型的行业,随着工业以及科技竞争的加剧,数据仓库已经成为了营销以及推广市场的利器,更是一种通过
<正>2008年的高考生物试题突出了高中生物教学中的重点知识,对高中生物教学具有正确的引导作用,同时本次试题又有所创新,命题者将知识与能力很好地衔接在一起,使整
府谷糜子种植历史悠久,种植面积较大。根据多年种植经验的积累和近年来丰产优质栽培技术的总结,从陕西省府谷县适合糜子播种的自然条件、播前准备、科学播种、田间管理、病虫
进入新世纪之后,国家陆续密集地推出一系列政策推动中国电影走出去,电影作为文化构成的一个重要部分,以其特有的直观性,在国际文化交流和中国文化的对外宣传中,有着不可替代的巨大
<正>全媒体时代是"内容为王"的时代,编辑素质和能力要比传统媒体的要求高出很多,而综合素质高的合格编辑缺失已成为普遍现象,全方位提升编辑队伍综合素质迫在眉睫。全媒体时
<正> 近几年来,随着金融电子化网络的发展,银行卡业务得到了迅速发展,与此同时,各家银行都投入大量的资金在主要营业网点、商场、医院、繁华地段、大型居民区安装了ATM。ATM