下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

详解基于Android已开放源代码的远程视频监控系统教程

作者:课课家教育     来源: http://www.kokojia.com点击数:2150发布时间: 2016-04-21 15:19:29

标签: Android视频安卓socket客户端

  网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是"孔"或"插座"。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。但本文主要详讲基于Android已开放源代码的远程视频监控系统。

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

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

  系统代码如下:

  一、android手机客户端

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

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

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

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

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

 

  二、PC服务器端

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

  

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

  只能在android4.04系统的手机上运行成功哦。

  下面是测试成功时的启动画面:

  源码链接:

  

       上文主要详讲了android手机客户端以及PC服务器端两部分内容,android手机客户端主要讲5个小步骤的内容,PC服务器端主要用代码形式详讲ImageServer.java 用于显示图像,并且可以拍照的内容。详细的内容可以看上文的内容,想要生日了解的同学可以自己网上查找更详细的资料来学习。希望本文对你有些许帮助。

赞(27)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程