当前位置:文档之家› 基于Android的视频通话系统的设计与实现毕业设计论文

基于Android的视频通话系统的设计与实现毕业设计论文

东北大学毕业设计(论文)摘要基于Android的视频通话系统的设计与实现摘要近年来,智能手机操作系统发展迅速,尤其是Android系统的迅猛发展已经将全球智能手机市场引领到了非常火爆的状态。

随着手机社交网络、手机多媒体通信和手机游戏等应用程序不断被开发出来,各种基于智能手机操作系统的应用程序正在逐渐影响和改变人们的生活方式。

实时视频流技术在可视电话、远程教育、视频点播等方面得到了广泛的应用。

本文设计并实现的基于Android的视频通话系统采用C/S架构,包括PC和手机两个客户端。

手机端使用Android2.3操作系统。

本系统共包含四个子系统:PC端接收子系统、发送子系统,Android端接收子系统、发送子系统。

接收子系统实现数据接收、转码和呈现,发送子系统现实数据采集、编码压缩和数据发送。

PC端基于JMF框架来实现,Android端使用Android Camera类及其相关类来实现。

本文对国内外视频通话的研究情况以及今后的发展前景,对实现视频通话所涉及到的协议和相关技术进行了分析,在此基础上提出了一种可行的网络视频通话设计方案,并通过需求分析、详细设计、编码实现、单元测试以及集成测试等过程完成了本系统的设计与实现。

本系统实现了跨平台视频通话,使PC与Android之间的视频通话成为了可能,可以起到丰富人们日常生活交流和娱乐方式的作用。

关键词:Android,视频通话,JMF,PC,RTP/RTCPDesign and Implementation of an Android-BasedVideo Calling SystemAbstractIn recent years, the rapid development of smart phone operating system, especially Android system, has led the global smart phone market into explosion state. With some application such as mobile social networking, mobile media communications and mobile games being continually developed, a variety of application on smart phone operation systems are increasingly affecting and changing people’s lifestyles. The real-time video streams technology is used widely in such aspects as videophone, distance education and video on demand.The system based on android uses c/s architecture. It includes two clients. One is on the Windows system, the other one is on the Android 2.3 system. There are four subsystems. Each of clients has a send subsystem and a receiver subsystem. The main function of the receiver subsystem is to receiver data from internet and decodes that data. After that, it will display that data as soon as possible. The main function of the send subsystem is to collect data from camera and then encodes the data. After that, the data will be sanded to the Internet. On the PC client, we use the JMF framework. One the Android client, we use Android API. This paper firstly introduces the research condition of the video call and development tendency. It analysis some technologies about the video calling system and comes up with a feasible plan. It introduces the video calling system about requirement analysis, detailed design, realize and testing.This system achieves the cross-platform video calling. It becomes possible to make video calling between PC and Android and will enrich the people’s communication and entertainment in their daily lives.Key words: Android, video call, JMF, PC, RTP/RTCP目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题概述 (1)1.1.1 课题背景 (1)1.1.2 课题的目的及意义 (1)1.2 国内外发展现状 (2)1.3 研究内容 (2)1.4 组织结构 (3)第2章相关技术 (4)2.1 Java多媒体框架 (4)2.1.1 JMF的功能 (4)2.1.2 JMF中的数据源 (4)2.1.3 JMF中的媒体播放器 (4)2.1.4 JMF中的媒体处理器 (5)2.1.5 JMF中的事件模型 (6)2.2 RTP/RTCP协议 (6)2.2.1 RTP实时传输协议 (6)2.2.2 RTCP实时传输协议 (8)2.3 FFmpeg视频编解码技术 (9)2.3.1 FFmpeg简介 (9)2.3.2 组成 (10)2.3.3 编码框架 (10)2.3.4 解码框架 (11)2.4 本章小结 (12)第3章系统分析 (13)3.1 需求分析 (13)3.1.1 系统总体需求 (13)3.1.3 用例分析 (14)3.2 系统运行环境与开发环境 (19)3.2.1 运行环境 (19)3.2.3 开发环境 (20)3.3 系统可行性分析 (20)3.3.1 技术可行性 (20)3.4 本章小结 (21)第4章系统设计 (22)4.1 概要设计 (22)4.1.1 系统软件体系结构的设计 (22)4.1.2 系统功能模块 (23)4.1.3 模块功能分析 (23)4.2.3 数据库设计 (29)4.2 本章小结 (30)第5章系统实现 (31)5.1 功能子模块的实现 (31)5.1.1 硬件检测模块 (31)5.1.2 数据采集模块 (32)5.1.3 压缩编码模块 (33)5.1.4 数据发送模块 (34)5.1.5 数据接收模块 (36)5.1.6 解码模块 (37)5.1.7 呈现模块 (38)5.1.8 会话参与者管理模块 (39)5.2 本章小结 (40)第6章系统测试 (41)6.1 单元测试 (41)6.2 集成测试 (43)6.3 本章小结 (44)第7章结论 (45)参考文献 (46)致谢 (47)第1章绪论1.1 课题概述1.1.1 课题背景随着移动通信网络与多媒体技术的飞速发展,很多智能手机以及其应用软件的产生和发展正在逐渐改变人们的生活方式和生活习惯。

Android是Google公司于2007年11月5日发布的一款基于Linux内核的开放源代码的智能手机操作系统。

由于其具有的开放性使得仟何厂商和个人都可以作为其开发者参与其中,Android在发布的随后几年中得到了迅猛的发展。

包括设备生产商、芯片制造商、应用开发商及网络运营商在内的商业公司和组织,以及全世界的应用程序开发者都致力于开发出最新最具影响力的手机硬件及软件。

近年来,基于IP网络的语音及视频服务越来越多地进入人们的视线,也有越来越多的公司致力于开发V oIP和Video Call的应用软件。

如Skype公司的Skype软件,Apple 公司的Face Time软件等,不仅能为用户带来更全面的体验,而且也提升了自身产品的市场竞争力。

人们不再局限于使用传统的电信网和移动网来拨打电话,而一部手机是否支持网络语音及视频实时通话功能也成为人们购买手机的一个考虑因素。

在这一方面,Android之前推出的一系列操作系统版木都没能很好地适应多媒体实时通信的发展。

这个问题一直持续到2010年12月7日,Google发布了代号为Gingerbread的Android 2.3操作系统。

这一版本的操作系统相比之前的版本有了很多的改进,其中一部分就是对多媒体实时通信有了更好的支持。

其中包括对V oIP及SIP的支持,以及对前置摄像头开发的支持,开发者已经可以根据现有的资源对Android系统进行二次开发,并做出应用性很强的即时视频通话软件。

1.1.2 课题的目的及意义在Android多媒体应用开发领域,充斥着很多公司和个人开发者开发的多媒体播放器、手机Radio、手机电视和手机语音聊大等多媒体应用软件。

但是成形的手机视频通话软件却不多见,本课题致力于对Android移动平台下的网络多媒体开发进行深入细致的研究和分析,并开发出一个可以在手机和PC之间进行高效的、稳定的视频通话的应用软件。

本课题力求实现以下目标:(1) Android 2.3系统增加了对前置摄像头的开发许可。

本课题要在充分研究并掌握Android平台的原理与软件开发的相关知识基础上,实现基于Android 2.3移动平台的实时视频通话。

(2) 本课题在Android端使用第三方开源RTP库Jlibrtp,使实时多媒体码流的发送和控制更方便。

PC端使用成熟的Java多媒体框架JMF完成视频采集、编码、发送、接收、解码。

(3) 为了保证本系统的友好性,本课题致力于开发一套拥有友好用户界而与稳定用户数据后台支持的应用软件,尽量保证软件使用起来更方便。

相关主题