- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javaKe视频聊天模块实现
javaKe视频聊天模块实现
目 录
javaKe视频聊天模块实现 1
1.JMF概述 2
1.1 JMF简介与安装 2
1.2 JMF体系结构 3
1.3 使用JMF播放多媒体示例 5
2.JMF使用RTP协议 7
2.1. 实时传输协议RTP(Real-Time Transport Protocol) 7
2.1.1 RTP工作机制 8
2.2 实时传输控制协议RTP(Real-Time Transport Control Protocol) 8
2.2.1 RTCP工作机制 8
2.2.2 RTCP数据包 8
2.3 JMF中使用RTP 8
2.4 RTP结构 9
2.4.1 Session管理器SessionManager 9
2.4.2 RTP事件RTPEvent 9
2.4.3 与RTP事件相对应的RTCP类型 11
2.4.4 数据传输格式 11
2.4.5 基于JMF的RTP/RTCP传输模型的整体设计 11
2.5 JMF升级为FMJ 11
3.FMJ视频聊天室的实现 12
3.1 视频聊天整体结构分析 12
3.2. 视频聊天客户端代码实现 12
3.3 视频聊天服务端代码实现 24
4. FMJ新特性分析 32
1.JMF概述
JMF是Java多媒体框架(Java Media FrameWork)的简称,JMF使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节。JMF中包含了许多用于处理多媒体的API。SUN通过它向Java中引入处理多媒体的能力,下面是JMF所支持的功能的概述:
◆ 可以在Java Applet和应用程序中播放各种媒体文件,例如AU、AVI、MIDI、MPEG、QuickTime和WAV等文件;
◆可以播放从互联网上下载的媒体流;
◆可以利用麦克风和摄像机一类的设备截取音频和视频,并保存成多媒体文件;
◆处理多媒体文件,转换文件格式;
◆向互联网上传音频和视频数据流;
◆在互联网上广播音频和视频数据。
1.1 JMF简介与安装
JMF目前的最新版本是2.1,安装JMF需要JDK1.4以上,JMF的下载地址:/javase/technologies/desktop/media/jmf/2.1.1/setup.html。
针对Windows用户,可以下载JMF2.1.1 with Windows Performance Pack。只有安装Windows Performance Pack才支持视频、音频的捕获。当安装成功后,你需要确认一下安装程序正确设定了CLASSPATH和PATH环境变量。在CLASSPATH中需要包含jmf.jar和sound.jar;在PATH中需要包含JMF动态库的路径。
在菜单栏中选中File(Capture 或者使用快捷键 Ctrl+P,出现下面的界面:
点击OK,JMF即会驱动摄像机设备,让摄象机开始工作。
1.2 JMF体系结构
为了更好的说明JMF的结构,我们用立体声音响做一个简单的比喻。当你用CD机播放CD唱片的时候,CD唱片想系统提供音乐信号。这些数据是在录音棚中用麦克风和其它类似设备记录下来的。CD播放机将音乐信号传送到音响系统的音响上,我们才能听到好听的音乐。在这个例子中,麦克风就是一个音频截取设备,CD唱片是数据源,而音响则是输出设备。JMF的结构个这个音响系统非常的相似,在后面的讲述中,我们会常遇到下面这些术语,这些术语就是JMF类库中的几个核心类库:
◆ 数据源(Data source)
◆ 截取设备(Capture Device,包括视频和音频截取设备)
◆ 播放器(Player)
◆ 处理器(Processor)
◆ 数据格式(Format)
◆ 管理器(Manager)
数据源
就像CD中保存了歌曲一样,数据源中包含了媒体数据流。在JMF中,DataSource对象就是数据源,它可以是一个多媒体文件,也可以是从互联网上下载的数据流。对于DataSource对象,一旦你确定了它的位置和类型,对象中就包含了多媒体的位置信息和能够播放该多媒体的软件信息。当创建了DataSource对象后,可以将它放在Player对象中,而Player对象不关心DateSource中多媒体是如何获得的,以及格式是什么。
有些时候,我们需要将多少个数据员合并成一个数据源。例如当我们在制作一段录像时,我们需要将音频数据源和视频数据源合并在一起。JMF支持数据的合并,在后面我们会讲解这一点。
截取设备
截取设备指的是可以截取到音频或视频的硬件,如麦克风、摄象机等,截取到的数据可以放在Player对象中进行处理。
播放器
在JMF中对应的播放器的接口是Player。Player对象将音频或视频作为数据流输
您可能关注的文档
最近下载
- 化工企业防泄漏管理培训课件.pdf
- 芜湖市2024届英语九年级第一学期期末学业水平测试试题含解析.pdf VIP
- 全国各省石氏辈分收集(66页).docx VIP
- 2024-2025学年 八年级上册物理(2024年新教材)教材课后习题-练习与应用(原动手动脑学物理).docx
- ISO9001质量手册中英文版.pdf
- 权力的48条法则 中文版.pdf
- 七年级第一学期信息技术复习知识点.pdf VIP
- 初中数学教师兼班主任工作总结_..doc VIP
- YY_T 0466.1-2023 医疗器械 用于制造商提供信息的符号 第1部分通用要求.pdf
- 内蒙古农业大学2022-2023学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
文档评论(0)