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

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

2a45885c3b35f36ef568e6498307ca9c.png

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

a89ebd850a0088a9dd9bad7dcb13ff8e.png

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

系统代码如下:

一、android手机客户端

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

92a401d27e3f087ca26d9b7515737290.png

58ffd3f841e486d11f73b9de561aeeb0.png

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

10181a3692d05b39d0e58890d07c6183.png

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

a89a164386d0808c10e220245284c2b9.png

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

3e19c42163068aece1fe6a16f05bccbc.png

8cac0d2ae3fc4f7f4fbf2cf200ba60d8.png

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

5e892bd76eba9229d5dde50e88a3f1a1.png

6ed4bd63f60c9e5fd27ac905c38eadd2.png

db1846058b267177ad53e76c0cb55dd5.png

fe4e4d4f55b249d883ef2a0f69a6ac67.png

553ccd8d6d3a51a39b8876e5e6fffca3.png

da57098aba895062bd8a818216509d16.png

1efb0b4bd00b69af612ad57e999a6d1d.png

二、PC服务器端

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

4c62577b6ca6155ea103be7945c7ca0b.png

9e67d4bee3810467619238db4b6a8fb9.png

294701dd63db7cea131e51c82b6449c5.png

741fa8f51a6dcd2145c1b49bb83788ce.png

98e3f2261e15be27e299f882b1078334.png

8fd8c06a4b1bd825a313b002244a386f.png

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

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

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

537e27aab214c543877255639bb544b8.png

源码链接:

1a78a69744026fe15bffa4f29ab8c5d9.png

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

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值