java的实时媒体应用开发.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

java的实时媒体应用开发

0流媒体的时间期限,是一个固定的流

基于时间的媒体的一个重要特征是需要及时的交付和处理。一旦媒体数据流开始到它被接收和处理前,都要求有一个严格的时间期限。为此,基于时间的媒体常被称作流媒体——它必须在特定的时间帧内作为一个稳定的流被接收和处理,以便得到合意的结果。本文主要对JavaMediaFramework作了简要的介绍,描述了JavaMediaFramework在流媒体应用开发方面的主要特点。利用Java语言,基于RTP/RTCP协议的实时通信的应用开发。

1将数字信号数字化

通过IP网络传输音、视频的最简单方法是把模拟的音、视频信号数字化,产生数据文件,然后用传统的协议传输该文件,并在接收端将数字文件解码,重新产生最初的模拟信号。

1.1网络接口接口环境设计

Java媒体框架(JMF)技术提供了将实时媒体与Java应用程序统一实现的应用编程接口,它由SUN和IBM公司联合开发,是纯Java语言的编程接口。由于Java语言的跨平台特性,在用JMF开发多媒体处理应用程序的时候,我们可以不必考虑操作系统的特性,而将主要精力放在有关协议的实现上。JMFAPIs使得程序员能够容易的开发基于时间的媒体的应用,它支持对实时媒体的捕获、编码、传输、存储以及在回放过程中进行相应的控制。

1.2录像视频技术

如图1a所示,这是一种我们所熟悉的用来记录、处理和提交多媒体数据的模型。当你用录像播放设备播放电影时,需要插入录像带以便提供媒体流数据。而录像播放设备读取录像带里的数据并解释,然后将适宜的信号输出到电视和扩音机。

JMF的设计使用同样的抽象模型,见图1b。数据源(DataSource)类似于录像带,它封装了媒体数据,数据源可以由捕获设备、本地媒体文件或是网络上的媒体流构造产生。处理器(Processor)类似于录像播放设备,它提供处理和控制机构,对媒体数据进行处理或解释,然后将适宜格式的数据输出,输出的目标可以是本地的输出设备、本地的文件或者网络。

2基于rtp的传输

RTP/RTCP协议是实时通信的基本协议,尽管它是一个独立的协议,但是RTP协议通常是基于UDP协议来进行传输的,因为TCP协议的确认重发机制不适于实时的应用。JMFRTPAPIs是实现RTP/RTCP通信协议的Java编程接口。

RTP会话(Session)RTP会话是使用RTP协议来进行通信交流的应用程序之间的一个关联。一个会话由一个网络地址和一对端口(UDP端口)所标识,其中,RTP媒体数据通常使用偶数的UDP端口传输,这个端口一般可以在会话里称为“基本端口”,而RTCP控制报文通常使用此“基本端口+1”的奇数UDP端口传输。在使用RTP进行传输的时候,每一种被传输的不同类型的媒体应该使用不同的会话来进行。例如,如果在一次会话里既有音频数据也有视频数据的话,那么就需要用两个独立的会话分别进行音频和视频的传输。这样的优点使得参与者可以选择想要接收哪一类型的媒体,比如说,一些拨号的低带宽用户可以只想接收会话的音频部分。

媒体定位器(MediaLocator)媒体定位器描述了将要被处理的媒体所在的位置,它类似于URL,并且也可以由一个URL来构造。它可以是一个文件,如:file://c:/Media/foo.mov,或者一个URL,如:/foo.mov,或者一个捕获数据源,如:javasound://8000。

数据源通常被用来管理媒体内容的传输,一个数据源封装了媒体的位置和用来传送媒体的协议和软件,它通常由一个媒体定位器或一个URL所表示。

播放器(Player)和处理器播放器与数据源一样是JMF高级APIs的不可缺少的部分,它主要是对媒体数据的捕获、处理和提交进行管理。处理器只是播放器的一种特定类型,它提供在输入媒体流上所完成的对处理过程的控制。

管理器(Manager)JMFAPI主要由接口组成,这些接口定义了用来捕获、处理和提交基于时间的媒体对象的行为和相互作用。要编写媒体处理的程序必须为应用程序构造播放器、处理器和数据源等对象,但不必直接去创建它们,而是使用一个叫做管理器的中间对象来间接的实现。管理器的作用也就在于此,它控制着对播放器的处理器、数据源等的创建。这种间接手段的方式允许新的应用与JMF之间无缝的整合。从客户端的观点来看,无论被要求的对象是从默认的实现创建还是从定制的实现创建,这些对象的创建方式都是一样的。

3rtp媒体流网络传输功能

图2是用JMF实现实时通信的程序模型。由图中可以看到,从网络接收到的RTP媒体流可以在本地播放或者保存为一个文件,也可以将媒体流通过网络传输。被传输的媒体流可以来源于一个文件或者一个捕获设备,甚至来源于从网络接收到的媒体流。

3.1rtp的实时传输

文档评论(0)

lgjllzx + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档