论文部分内容阅读
可视电话以其直观有效的沟通方式,相对于传统电话而言,极大的丰富了人们的沟通。宽带互联网技术的广泛应用及嵌入式技术的飞速发展,更加提升了人们对于视频通信系统用户体验的要求。这些需求使得人们不得不更加专注于大力研发各类相关的技术,例如用于捕获更加高质量的高清视频的采集技术、用以提高视频数据压缩率的视频编解码技术。本论文以S5pv210开发板为开发硬件平台,研究在Android系统上实现视频通信等实际需求中所需要的视频图像采集技术、视频数据发送的相关协议以及它们代码实现。本论文将通过开发一个Android应用程序来实现以上功能,可以将本应用安装在任何带有摄像头的Android设备上,如平板电脑、智能手机、智能电视机顶盒等。本论文在对相关通信协议及编码标准进行研究后,依照协议流程实现了Android系统上RTSP视频流服务器的建立。如何在Android设备上实现RTSP服务器,建立RTSP会话,阻塞并等待用户发来的控制信息,然后由服务器端返回正确的响应报文及视频数据包是本次研究的重点。实现这些功能需要实现连接建立过程中所依赖的RTP协议。同时运用多线程处理的方式,实现了从摄像头获取数据并打包发送这一过程。通过相应的Android应用开发,完成了包括应用界面的设计和相关代码及方法的调用等方面的工作,最终完成了RTSP视频流服务器建立的整个过程。作为发送视频流数据之前的准备工作,还依照H.264编码标准及MP4文件的格式结构,完成了RTSP服务器所需发送的视频参数集的提取。本论文所研究的主要内容在可视电话的软件架构的层次中位于中间层,通过调用Android系统的API实现控制摄像头获取视频数据,并开启另一线程,通过检测NALU头的方式将数据分割,并经由RTP协议传送。本研究内容可为多种高级应用提供基础服务,不仅限于建立双线可视电话,还可用于家庭监护、视频会议等相关高级应用的搭建。