Android视频监控系统客户端及服务器端源程序


开发平台 Eclipse 3.5 Android SDK2.2 VS2008;主要功能:1、 手机拍摄视频,服务器端播放视频流;手动对视频录像。 2、 把手机作为固定的监控摄像头使用的时候,可自动对有运动出现的场景进行录像,视频保存在服务器端。灵敏度的设置可以对付小波动的干扰,检测到的光流总和如果低于设置值则不会自动录像。当自动录像开始后,如果在约5秒之内没有检测到运动出现(低于灵敏度),程序会自动结束录像,直到下一次运动出现才会生成另外一个以系统时间命名的avi视频文件。视频编码的选择,目前是以弹出对话框的形式提供监控者选择,也可以在程序中设置操作系统已经安装好的编码器。如果要停止自动录像,首先把自动录像标记设置为0,然后点击停止录像按钮。
资源截图
代码片段和文件信息
package com.kapokcam.android.comm;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;

import com.kapokcam.android.ui.KapokCamLocalViewActivity;

import android.content.Context;
import android.os.Handler;
import android.util.Log;

public abstract class KapokCommHandler {
public enum ConnectionStatus {
DISCONNECTED CONNECTING CONNECTED
}
private static final String TAG = “KapokCommHandler“;
protected Handler handler = null;
protected Context context = null;
protected OutputStream outputStream = null;
protected InputStream inputStream = null;
private ArrayList recvQueue = new ArrayList();
private ArrayList sendQueue = new ArrayList();
private static final int MAX_SENDQ_SIZE = 2;
private static final int MAX_RECVQ_SIZE = 5;

private int dropped = 0;
protected ConnectionStatus connectionStatus = ConnectionStatus.DISCONNECTED;
private SendThread sendThread = null;
private RecvThread recvThread = null;
private ConnectThread connectThread = null;

protected KapokCommHandler(Context context Handler handler) {
this.context = context;
this.handler = handler;
}

public ConnectionStatus getConnectionStatus() {
return connectionStatus;
}

public boolean isConnected() {
return connectionStatus == ConnectionStatus.CONNECTED;
}

public final void clearSENDQ() {
synchronized (sendQueue) {
sendQueue.clear();
}
}

public final void clearRECVQ() {
synchronized (recvQueue) {
recvQueue.clear();
}
}

public final void sendQ(byte[] data) {
synchronized (sendQueue) {
if (sendQueue.size() == MAX_SENDQ_SIZE) {
++dropped;
Log.i(TAG “dropped “ + dropped + “ pkgs“);
// frameQ.remove(0);
// frameQ.add(data);
return;
}
if (sendQueue.size() == 0) {
sendQueue.add(data);
sendQueue.notify();
return;
}
sendQueue.add(data);
}
}

public final void recvQ(byte[] data) {
synchronized (recvQueue) {
if (recvQueue.size() == MAX_RECVQ_SIZE) {
// ++dropped;
// Log.i(TAG “dropped “ + dropped + “ pkgs“);
// frameQ.remove(0);
// frameQ.add(data);
return;
}
if (recvQueue.size() == 0) {
recvQueue.add(data);
recvQueue.notify();
return;
}
recvQueue.add(data);
}
}

public final boolean canAcceptMore() {
synchronized (sendQueue) {
if (sendQueue.size() == MAX_SENDQ_SIZE)
return false;
}
return true;
}

public final void doWrite(byte[] data) {
Log.i(TAG “doWrite()“);
try {
outputStream.write(data);
} catch (IOException ioe) {
ioe.printStackTrace();
Log.e(TAG “doWrite() failed“ ioe);
connectionStatus = ConnectionStatus.DISCONNECTED;
synchronized (sendQueue) {
sendQueue.clear();
}
handler.obtainMessage(KapokCamLocalViewActivity.MESSAGE_DISCONNECTED)
.sendToTarget();
disconnect();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-08-29 13:29  Android视频监控
     目录           0  2016-08-29 13:26  Android视频监控android端源代码
     目录           0  2016-08-29 13:26  Android视频监控android端源代码comm
     文件        6656  2015-10-31 10:57  Android视频监控android端源代码commKapokCommHandler.java
     文件        2869  2015-10-31 10:57  Android视频监控android端源代码commKapokInetHandler.java
     目录           0  2016-08-29 13:26  Android视频监控android端源代码decoder
     文件        4459  2015-10-31 10:57  Android视频监控android端源代码decoderEncodeHandler.java
     文件        1103  2015-10-31 10:57  Android视频监控android端源代码decoderJpegHandler.java
     目录           0  2016-08-29 13:26  Android视频监控android端源代码ui
     文件        1042  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamApp.java
     文件        2782  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamCapActivity.java
     文件        1688  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamLocalSettingActivity.java
     文件       16300  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamLocalViewActivity.java
     文件        2127  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamRemoteView.java
     文件        1051  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamRemoteViewActivity.java
     文件        4156  2015-10-31 10:57  Android视频监控android端源代码uiKapokCamTabActivity.java
     文件      250335  2015-10-31 10:57  Android视频监控Cam320.apk
     文件      731136  2015-10-31 10:57  Android视频监控Cam320.exe
     文件     2085888  2015-10-31 10:57  Android视频监控cv210.dll
     文件     2201088  2015-10-31 10:57  Android视频监控cxcore210.dll
     文件      781312  2015-10-31 10:57  Android视频监控highgui210.dll
     文件      566698  2015-10-31 10:57  Android视频监控libjpeg.lib
     文件      819892  2015-10-31 10:57  Android视频监控libjpeg8.lib
     目录           0  2016-08-29 13:34  Android视频监控使用文档
     文件       33792  2016-08-29 13:32  Android视频监控使用文档作品说明.doc
     文件      250368  2016-08-29 13:34  Android视频监控使用文档移动视频监控文档.doc
     目录           0  2016-08-29 13:38  Android视频监控服务器端源代码
     文件        7947  2015-10-31 10:57  Android视频监控服务器端源代码CommHandler.cpp
     文件        2134  2015-10-31 10:57  Android视频监控服务器端源代码CommHandler.h
     文件        3817  2015-10-31 10:57  Android视频监控服务器端源代码commoncam.h
     目录           0  2016-08-29 13:26  Android视频监控服务器端源代码icons
............此处省略110个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)