Android实时监控项目主要涉及Socket编程、多线程编程,Android摄像头对预览视频流的采集和处理等。
【1】主要功能:
通过Android客户端摄像头采集预览视频数据,并实时地发送到PC端进行显示。
【2】设计思路:
Android客户端:
1、创建一个Activity,获取连接的PC端的IP地址(由用户输入),IP地址合法,则跳转到预览视频流的Activity中;
2、在第二个Activity中,打开摄像头预览视频,并建立起与PC端的Socket连接,将视频流数据异步传送到PC端;
3、由于视频流的传输开销比较大,因此需要另外开启一个线程,以防止UI Thread阻塞。
PC端:
1、设计用来实时显示视频流的UI界面;
2、通过SeverSocket与Android客户端建立Socket连接,不断读取视频流,并显示在界面中;
3、由于PC端只连接一个Android客户端,因此这里不需要进行多线程编程;
【3】结果截图:
这里是PC端与Android AVD在一台电脑上,但是测试时输入的要连接的PC端的IP地址用的是真实IP地址,而不是Android内置的本地IP10.0.2.2
Android客户端发动发送数据包的截图
PC端接收到的视频截图
Android客户端采集的视频截图
具体细节及各个环节的详细实现参见后续章节