JMF音视频聊天程序聊天软件实现.doc


文档分类:论文 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35
文档列表 文档介绍
JMF的音视频聊天程序聊天软件的实现
JMF的音视频聊天程序(第一部分) 概述
1:语音通信系统模型  
      
:音频信号的采集以及回放
       在进行音频信号的采集中,我们必须考虑到采样率的问题,声音信号的采样率有8KHz、16KHz、32KHz、44KHz等,每种数据采样率产生的数据量都不一样,越高的采样率产生的数据量越大,所以我们要选择合适的采样率以适应网络的带宽。
:音频数字信号的编码与解码
       如果直接把采集到的音频信号数据流在网络上进行传输,它所占有的带宽也是十分大的,以8KHz的采样率采集14位的音频数据,那么就有以下这样的一个式子:
       14 bit × 8000Hz = 112,000 bits/second or 112 kbps
从中我们可以看出以这样的方式传输音频数据,每秒需要向网络中发送112kb的数据。从节省带宽的角度考虑,我们很有必要对这样的数据进行压缩。对多媒体信号的压缩我们有许多可以选择的格式,如mp2、mp3、GSM等等。所以,我们这里也存在一个对压缩格式进行选择的问题,考虑到音频数据传输的及时性,对传输的音频数据质量的要求,以及各种压缩格式的压缩比率以及进行压缩和解压缩所要耗费的系统资源等方面问题,选择合适的压缩格式就显得尤为重要。
:双方之间的数据传输
       网络上传输数据,有TCP和UDP。TCP较可靠,所以应用在不允许数据丢失的应用上。而UDP则较多应用于处理速度要求较快、数据传输可靠性要求不是很高的应用上,如数据广播。通信协议的选择取决于我们所要做的应用的类型。怎样建立网络连接,稳定的接收和发送音频信号的数据流是关键。
2:语音聊天软件的设计
       要实现在网络上进行语音通信,便要解决音频信号的采集、回放、编解码以及数据的传输的问题。Java的JMF是一种应用编程接口(API)软件包,它为音频和视频等媒体内容的捕获、回放、传输和编码转换等提供了一个统一的架构。本文将使用JMF完成对语音通信软件的设计。
       我在第2部分介绍了JMF,第三部分介绍RTP、RTCP原理,在第六部分给出实现的方法。
       鉴于语音聊天软件的发展,多人语音聊天已成为语音聊天软件必不可少的一个功能,所以本软件也加入了这一功能。当前的网络中有三种通讯模式:单播、广播、组播。我们能够用这三模式中的其中一个完成多人语音聊天这一功能。单播为一对一的信息传送,如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作,浪费网络和服务器的资源。发送广播,子网内所有主机均可收到数据报,通信量巨大,智能低,并且不允许跨越网段。组播为主机之间“一对一组”的通讯模式,加入了同一个组的主机可以接收到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。由以上三种模式的比较,本文运用组播技术实现多人语音聊天这一功能。
 
      本文第四部分介绍组播的基础知识,在第六部分给出实现的方法。
       在广域网,P2P软件可能失灵,主要是由于NAT设备的存在。NAT是在IP地址日益缺乏的背景下产生的,它解决了地址不够用的问题。但它也导致了内外网无法直接通信或受到某些限制的问题。要使语音通信软件能在广域网上无误地运行,该软件便要穿透NAT。本文在第五部分介绍了NAT的基本原理及NAT的穿透方法,在第六部分给出实现的方法。
JMF的音视频聊天程序(第二部分) JMF基础
1: 关于JMF技术
       JMF(Java Media Framework),Java媒体架构,是对应Java 2平台标准版(J2SE)的一种可选用的应用编程接口(API)软件包,它为音频和视频等媒体内容的捕获、回放、传输和编码转换等提供了一个统一的架构。
       JMF技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支持,如M-JPEG、、MP3、RTP/RTSP (实时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF ,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。
2: JMF模型
       在开发JMF应用程序之前要理解JMF的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。如图2-1所

JMF音视频聊天程序聊天软件实现 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人511709291
  • 文件大小0 KB
  • 时间2015-09-15
最近更新