当前,随着Internet应用的普及,越来越多的用户期望通过Internet传输和发布音视频信息。尽管现在存在一些基于Internet的多媒体信息传输和发布技术,但这些技术一般不能实现多媒体数据的实时传输和播放,无法满足视频点播、会议电视等实时应用的需求。流媒体(Streaming Media)是近年来在网上发布多媒体信息的一种新技术,它可以实现多媒体数据的实时传输和播放。
java Media API(java多媒体应用编程接口)是由Sun公司推出的一种用于处理和开发多媒体(包括流媒体)应用的面向java Application和java Applet的应用程序接口(API)。它包括图形技术(图形的绘制、颜色的设置和字体的应用)、声音技术、图像技术(包括图像的处理)和动画技术、音频流技术、视频流技术等。它支持多媒体数据的播放和实时传输等媒体操作,在数据播放上,它支持大多数的媒体格式,如AIFF、AU、AVI、GSM、MIDI、MPEG、QuickTime、RMF及WAV等;在实时传输上,它支持实时传输协议RTP(Real-Time Transport Protocol)和实时传输控制协议RTCP(Real-Time Control Protocol)。
JMF(java Media Framework API)是一种采用java语言开发流式媒体应用的面向javaApplication和java Applet的集成媒体数据类型的应用程序接口。它作为java Media API技术家族的一个重要组成部分,对java平台进行了扩展,为媒体应用开发人员提供了增强的媒体开发能力,使音频流与视频流等流媒体能够应用于企业、学校等所需部门中,是本文研究的重点。
本文以教育部精品课程计划——漳州师范学院精品课程项目为背景,结合当前java技术和流媒体技术,就java多媒体应用编程接口java Media API进行研究和应用,在介绍java Media API的基础上,重点阐述了JMF的特点和功能,并应用java Media API开发出java Apolication应用程序和内嵌于网页的javaApplet小程序。
本文所做主要工作、技术难点与创新如下:
(1) 探讨了新的多媒体处理技术JMF。JMF完全继承了java跨平台的优点,使得通过JMFAPI开发的多媒体应用同其他java应用一样,拥有“一次开发,到处运行”(write once,run anywhere)的特点。JMF为多媒体的获取、播放、处理和传输定义了统一的体系结构、消息处理机制和程序设计接口,提供给开发者一个可以扩展的并且跨平台的强大的媒体工具,并完全支持RTP/RTCP协议。本文应用java Media API来处理各种媒体数据,并将其运用于流媒体传输与播放系统的实际开发当中。通过使用JMF中的几种关键技术(RTP API、会话、端口控制、事件模型、缓冲区设置等)解决了流媒体传输与播放。
(2) 深入探讨了流媒体的形成机制。多媒体文件是以数据包形式在Internet上传输的,应先对多媒体文件以一定的格式(例如H.263格式)进行编码,压缩成数据包,传送到网络上。同样地,到了接收端时,以相反的流程操作,才能还原为多媒体数据,也就是要进行解码、解压缩。一般情况下,接收端接收完整个媒体文件才能播放,而流媒体或者媒体流却可以边下载边播放,即它不需要存储到本地硬盘便可直接播放,大大节省了时间和空间,它是通过缓存实现的。接收端必须向操作系统申请一块缓存,把发送端源源不断送来的数据包(多个流动的数据包就成了流媒体或媒体流)放在缓存里,并启动播放器进行播放,这样无需存储到外部存储器(硬盘)。缓冲区的大小是有限的,故边接收的同时边删除已播放的媒体数据。这就形成了我们所说的无需存储到本地存储器、边下载边播放的流媒体。
(3) 研究了多媒体文件进行RTP传输的准备工作及其传输过程,采用java技术实现了接口的统一和跨平台的可移植性。采用JMF事件模型实现JMF应用程序的控制核心。JMF
JMF(java Media Framework)即java媒体框架,是Sun公司推出的一个应用程序接口,可以实现音频、视频信号的采集、存储和传输,支持压缩的媒体流及存储媒体的同步、控制、处理和播放。用JMF可以很轻松地实现媒体播放器和处理器来播放或...
详细信息
JMF(java Media Framework)即java媒体框架,是Sun公司推出的一个应用程序接口,可以实现音频、视频信号的采集、存储和传输,支持压缩的媒体流及存储媒体的同步、控制、处理和播放。用JMF可以很轻松地实现媒体播放器和处理器来播放或者处理媒体数据,输入可以是本地文件,RTP Session或者是网络URL,从而使 java在处理网络流媒体数据方面获得了更为广阔的应用。java Media Framework标志着java真正进入了多媒体时代,极大地提高了使用java在网上传送、传输、接收、捕捉、处理、存储和播放多媒体信息的能力,使得java越来越成为最适合于网络编程的语言。\n 本文中使用Sun公司提供的JMF API使得音频、视频和其它时基媒体可以加入到java应用程序之中。JMF包含一些可以选择的java包,可以用来捕获媒体、传输媒体、播放媒体、处理媒体和转换媒体格式,还可以在J2SE平台上进行扩展,是开发人员开发可升级交叉平台技术的强大的工具。\n 此应用程序主要的功能是进行多媒体数据的编辑:媒体合并,把多个输入文件进行合并,所有轨道的数据都会保存到一个文件中;媒体连接,把多个输入文件进行无缝的连接在一起;媒体的拆分,给定媒体,提取出所有的音频和视频轨道,根据轨道数目存成多个文件;媒体的提取,给定媒体文件,根据需要指定时间或者帧,提取出媒体片断;对传输的媒体添加字幕来确定媒体来源。
暂无评论