基于android的视频通话系统的设计与实现毕业设计论文.doc
《基于android的视频通话系统的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于android的视频通话系统的设计与实现毕业设计论文.doc(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、东北大学毕业设计(论文) 摘要基于Android的视频通话系统的设计与实现摘 要近年来,智能手机操作系统发展迅速,尤其是Android系统的迅猛发展已经将全球智能手机市场引领到了非常火爆的状态。随着手机社交网络、手机多媒体通信和手机游戏等应用程序不断被开发出来,各种基于智能手机操作系统的应用程序正在逐渐影响和改变人们的生活方式。实时视频流技术在可视电话、远程教育、视频点播等方面得到了广泛的应用。本文设计并实现的基于Android的视频通话系统采用C/S架构,包括PC和手机两个客户端。手机端使用Android2.3操作系统。本系统共包含四个子系统:PC端接收子系统、发送子系统,Android端接
2、收子系统、发送子系统。接收子系统实现数据接收、转码和呈现,发送子系统现实数据采集、编码压缩和数据发送。PC端基于JMF框架来实现,Android端使用Android Camera类及其相关类来实现。本文对国内外视频通话的研究情况以及今后的发展前景,对实现视频通话所涉及到的协议和相关技术进行了分析,在此基础上提出了一种可行的网络视频通话设计方案,并通过需求分析、详细设计、编码实现、单元测试以及集成测试等过程完成了本系统的设计与实现。本系统实现了跨平台视频通话,使PC与Android之间的视频通话成为了可能,可以起到丰富人们日常生活交流和娱乐方式的作用。关键词:Android,视频通话,JMF,P
3、C,RTP/RTCP-II-东北大学毕业设计(论文) AbstractDesign and Implementation of an Android-Based Video 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 mo
4、bile 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 peoples lifestyles. The real-time video streams technology is used widely in such aspects as videophone,
5、 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
6、 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
7、 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 call
8、ing 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 peoples communication and entertainment in their daily lives.Key words: Android, vid
9、eo call, JMF, PC, RTP/RTCP东北大学毕业设计(论文) 目录目 录摘 要IAbstractII第1章绪 论11.1 课题概述11.1.1 课题背景11.1.2 课题的目的及意义11.2 国内外发展现状21.3 研究内容21.4 组织结构3第2章相关技术42.1 Java多媒体框架42.1.1 JMF的功能42.1.2 JMF中的数据源42.1.3 JMF中的媒体播放器42.1.4 JMF中的媒体处理器52.1.5 JMF中的事件模型62.2 RTP/RTCP协议62.2.1 RTP实时传输协议62.2.2 RTCP实时传输协议82.3 FFmpeg视频编解码技术92.3.
10、1 FFmpeg简介92.3.2 组成102.3.3 编码框架102.3.4 解码框架112.4 本章小结12第3章 系统分析133.1 需求分析133.1.1 系统总体需求133.1.3 用例分析143.2 系统运行环境与开发环境193.2.1 运行环境193.2.3 开发环境203.3 系统可行性分析203.3.1 技术可行性203.4 本章小结21第4章 系统设计224.1 概要设计224.1.1 系统软件体系结构的设计224.1.2 系统功能模块234.1.3 模块功能分析234.2.3 数据库设计294.2 本章小结30第5章 系统实现315.1 功能子模块的实现315.1.1 硬件
11、检测模块315.1.2 数据采集模块315.1.3 压缩编码模块335.1.4 数据发送模块345.1.5 数据接收模块365.1.6 解码模块375.1.7 呈现模块385.1.8 会话参与者管理模块395.2 本章小结40第6章系统测试416.1 单元测试416.2 集成测试436.3 本章小结44第7章结论45参考文献46致 谢47-IV-东北大学毕业设计(论文) 第1章 绪论第1章绪 论1.1 课题概述1.1.1 课题背景随着移动通信网络与多媒体技术的飞速发展,很多智能手机以及其应用软件的产生和发展正在逐渐改变人们的生活方式和生活习惯。Android是Google公司于2007年11月
12、5日发布的一款基于Linux内核的开放源代码的智能手机操作系统。由于其具有的开放性使得仟何厂商和个人都可以作为其开发者参与其中,Android在发布的随后几年中得到了迅猛的发展。包括设备生产商、芯片制造商、应用开发商及网络运营商在内的商业公司和组织,以及全世界的应用程序开发者都致力于开发出最新最具影响力的手机硬件及软件。近年来,基于IP网络的语音及视频服务越来越多地进入人们的视线,也有越来越多的公司致力于开发VoIP和 Video Call的应用软件。如Skype公司的Skype软件,Apple公司的 Face Time软件等,不仅能为用户带来更全面的体验,而且也提升了自身产品的市场竞争力。人
13、们不再局限于使用传统的电信网和移动网来拨打电话,而一部手机是否支持网络语音及视频实时通话功能也成为人们购买手机的一个考虑因素。在这一方面,Android之前推出的一系列操作系统版木都没能很好地适应多媒体实时通信的发展。这个问题一直持续到2010年12月7日,Google发布了代号为Gingerbread的Android 2.3操作系统。这一版本的操作系统相比之前的版本有了很多的改进,其中一部分就是对多媒体实时通信有了更好的支持。其中包括对VoIP及SIP的支持,以及对前置摄像头开发的支持,开发者已经可以根据现有的资源对Android系统进行二次开发,并做出应用性很强的即时视频通话软件。1.1.
14、2 课题的目的及意义在Android多媒体应用开发领域,充斥着很多公司和个人开发者开发的多媒体播放器、手机Radio、手机电视和手机语音聊大等多媒体应用软件。但是成形的手机视频通话软件却不多见,本课题致力于对Android移动平台下的网络多媒体开发进行深入细致的研究和分析,并开发出一个可以在手机和PC之间进行高效的、稳定的视频通话的应用软件。本课题力求实现以下目标:(1) Android 2.3系统增加了对前置摄像头的开发许可。本课题要在充分研究并掌握Android平台的原理与软件开发的相关知识基础上,实现基于Android 2.3移动平台的实时视频通话。(2) 本课题在Android端使用第
15、三方开源RTP库Jlibrtp,使实时多媒体码流的发送和控制更方便。PC端使用成熟的Java多媒体框架JMF完成视频采集、编码、发送、接收、解码。(3) 为了保证本系统的友好性,本课题致力于开发一套拥有友好用户界而与稳定用户数据后台支持的应用软件,尽量保证软件使用起来更方便。随着无线网络的快速发展,手机+Wifi接入互联网的方式已经越来越普遍地为手机用户所使用。Wifi技术基于IEEE制定的802.11标准,不仅覆盖范围能达到接近100米,而且网络速率可以达到 1Mbps,这为基于移动终端的多媒体实时通信创造了良好的条件。基于Android记移动终端的视频通话系统的实现与优化,对于人们日常生活
16、的交流和娱乐方式会有很重要的意义。1.2 国内外发展现状Google是Androd系统的创始者和发布者,但是并不是最先推出基于Android移动终端视频通话应用软件的。在2010年末的时候,一款搭载了Android操作系统的视频通话软件Fring便进入了人们的视线。Fring可以在两台使用了前置摄像头的Android手机上进行视频通话,并使用了自主研发的动态视频质量(DVQ)技术来保证服务质量。该技术利用当前网络带宽作为依据来调整视频编码比特率和帧速率,从而带来流畅清晰的视频体验。Google于2011年5月也正式在 GoogleTalk中加入了视频通话部分,使任意两个拥有Gmail账号的用户
17、都可以使用搭载了 Android2.3操作系统版本以上的手机来进行视频通话1。另外,Yahoo也在其Messenger中加入了视讯通信的插件供用户下载使用。在国内,基于Wifi的免费视频通话软件并不多,而且对网络的适应性也不是很强。1.3 研究内容本课题一个涉及到两个客户端。PC端基于JMF框架,Android端基于Android 2.3并使用开源RTP传输框架Jlibrtp,在此基础上设计并实现了视频通话系统。本系统没有对网络NAT穿透,因此目前只能在局域网环境中进行视频通话。但只要搭载一个成型的NAT模块,系统即可在任何网络环境中进行视频通话。(1) 研究并掌握了Android平台的原理与
18、软件开发的相关知识,实现了对Android Camera的实时数据采集与回显,实现了应用于Android 2.3移动平台上基于RTP的视频通话系统。(2) 深入研究并分析了第三方开源RTP/RTCP库Jlibrtp并应用于Android平台上。对于Java多媒体框架也有了深入的了解。(3) 详细分析并设计了视频通话系统的框架以及各个功能模块之间的协同工作机制,并在此基础上开发了一套友好的应用软件界面,保证了用户数据后台支持,使软件使用起来更方便。1.4 组织结构本文分六个章节来进行介绍:第1章 绪论。介绍了本课题的背景、目的、意义以及国内外的发展情况。第2章 相关技术。介绍Java多媒体框架,
19、重点介绍了RTP/RTCP传输协议的原理。第3章 需求分析。通过用例的方式对基于Android的视频通话系统进行需求分析,包括功能性需求分析和非功能性需求分析,进而得出视频通话的用例模型。第4章 系统设计。完成详细的功能设计,进行软件架构分析,对软件模块进行划分。包括视频采集、编解码、实时传输以及视频呈现等模块。附加了其它模块,如数据库操作,GUI等。第5章 系统实现。完成需求分析提出的各个功能模块,实现了基于Android的视频通话系统。第6章 系统测试。对各个功能模块编写基本的测试用例进行测试。第7章 总结与展望。对工作做了简要的总结,并对后续工作提出了设想。 -46-东北大学毕业设计(论
20、文) 第2章 相关技术第2章相关技术2.1 Java多媒体框架Java Media Framework(JMF)是SUN和IBM共同开发的能够在Java应用程序和小应用程序中显示,获取多媒体数据的一套类的集合2。JMF API使Java程序员做到了以跨平台与设备无关的方式访问音、视频设备,提供了分布式应用环境下实时媒体回放技术,还定义了一系列API插件,允许高级开发人员和技术人员对其进行定制功能扩展,实现特殊的音、视频捕获、处理和回放效果。JMF支持大多数标准的媒体内容类型,如AIFF、AU、AVI、GSM、MIDI、MPEG、QuickTime、RMF和WAV。2.1.1 JMF的功能JMF
21、的主要功能有:(1) 在Java的应用程序和Applet中,播放各种媒体格式文件。(2) 在Internet中播放流媒体数据。(3) 可以在麦克风和数字摄像机的帮助下采集音频和视频数据, 并且将这些数据保存为多种格式的文件。(4) 在Internet中发布自己的音、视频流。(5) 用来制作实时的音、视频广播服务。2.1.2 JMF中的数据源JMF API可以同步播放来自各种数据源 (DataSource)的时基媒体,例如本地或网络数据文件等。数据源封装了媒体数据流、媒体的具体位置和用于传输媒体的协议,一个数据源一旦被获取,它将不能再用于传输其他媒体数据。 JMF API支持的两种类型的数据源是
22、Pull数据源和Push数据源。一个媒体播放器的数据源可以用一个JMF MediaLocator或一个URL来定位。MediaLcator是一个描述某媒体播放器显示的媒体数据的类,它类似于URL类,并可由URL类来构造。另外,JMF还支持数据源的合并,即可以将多个数据源合并成一个数据源,例如将视频数据源和音频数据源合并在一起作为一个多媒体数据源在网络中传输。2.1.3 JMF中的媒体播放器媒体播放器是JMF的一个基本功能,视频、音频等多媒体的表现都需要用到它的支持,媒体播放器的应用程序接口包括一个可视构件(VisualComponent)和一个控制面板构件(ControlPanelComPon
23、ent)。应用MediaPlayer类创建的对象或继承Javax.media包中的Player接口的其他类创建的对象即可实现媒体播放器,通过MediaPlayer类中提供的方法可以操作各种媒体数据的播放。在JMF媒体播放器从启动媒体播放器到开始播放媒体数据的过程中,JMF中定义了6种工作状态,在正常情况下,JMF媒体播放器需要经历每种状态,然后才能开始播放媒体数据,以下是JMF中定义的6种工作状态。(1) Unrealized状态:在该工作状态下,JMF媒体播放器己经被实例化,但并不知道需要播放的媒体数据的任何信息。(2) Realizing状态:当调用realize()方法时,JMF媒体播放
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 视频 通话 系统 设计 实现 毕业设计 论文
限制150内