天天看点

基于android的远程视频监控系统

<a href="http://www.cnblogs.com/aimeng/">qianqianlianmeng</a>

基本过程是android作为socket客户端将采集到的每一帧图像数据发送出去,PC作为服务器接收并显示每一帧图像实现远程监控。图片如下(后来PC端加了个拍照功能)。。。

基于android的远程视频监控系统

(PS。刚学android和java不久很多东西还不懂,高手若是知道哪些地方可以继续优化的话还请多多指点下啊)

此贴是这个系统的介绍,没有基础的朋友可以参考下面教程(会陆续补充完整,让大家都学会如何实现整个功能):

系统代码如下:

一、android手机客户端

(1)AndroidManifest.xml文件。添加camera和socket权限,并设置了程序开始执行的activity

基于android的远程视频监控系统
基于android的远程视频监控系统

(2)main.xml 设置surfaceview用于摄像头采集图像的预览

基于android的远程视频监控系统
基于android的远程视频监控系统

(3)login.xml 登录界面,用于输入服务器IP

基于android的远程视频监控系统
基于android的远程视频监控系统

(4)GetIP.java 获得服务器IP后,通过Intent启动CameraTest的activity,ip信息通过Bundle传递

基于android的远程视频监控系统
基于android的远程视频监控系统

(5)CameraTest.java 程序主体。设置PreviewCallback后,每当一帧图像数据采集完成后将调用PreviewCallback的onPreviewFrame函数。在这里我们将YUV格式数据转为jpg,再启用线程将数据通过socket发送出去。

基于android的远程视频监控系统
基于android的远程视频监控系统

二、PC服务器端

ImageServer.java 用于显示图像,并且可以拍照

基于android的远程视频监控系统
基于android的远程视频监控系统

开放源码如下(android我使用的是4.03的SDK,其它版本请自行更改。2.3.3版本以下的请注意initCamera()里被注释掉的哪一行)

本文转自qianqianlianmeng博客园博客,原文链接:http://www.cnblogs.com/aimeng/archive/2012/08/17/2644278.html,如需转载请自行联系原作者

继续阅读