JMF介绍之媒体框架(一)

JMF(Java Media Framework)是Sun 公司提出的Java 媒体架构。它是对应Java 2平台标准版(J2SE)的一种可选用的应用编程接口(API)。JMF的源代码通过SCSL(Sun 社团源代码许可模式)发布这一强大的媒体工具包,可以在任何版本(1.1.x 及以上版本)的Java平台上的运行。

JMF2.1.1技术提供了先进的媒体处理能力,从而扩展了Java 平台的功能。JMF所提供的多媒体功能如下:

l可以在Java Applet 和应用程序中播放各种媒体文件。它提供了对各种主要媒体形式和编码的支持,如JPEG、H.263、MP3、Macromedias Flash。JMF 2.1.1 还支持多种媒体类型如Quicktime、MOV、Microsoft AVI和MPEG-1。

l在互联网上传输音频和视频数据流。

l可以利用摄像机一类的设备截取音频和视频并保存为多媒体文件。

l处理多媒体文件转换文件格式。

l在互联网上广播音频和视频数据。

1.JMF基本构架

JMF的两层架构:

(1) 相对上层的负责多媒体文件的控制,使用和处理,并支持网络资源和识别采集设备等额外控制功能;

(2) 相对下层不仅提供编解码器,渲染器,还提供plug-in架构来直接存取多媒体文件使JMF能更轻易的被延伸和定制;

JMF的架构图:

图1 JMF架构图

2.JMF的运作模式

图2根据VCR的运作模式来对比JMF运作过程,我们可以发现JMF与真实世界中的VCR运作模式相似。整个过程如同是VCR提供了一个熟悉的构造模型来录影(音)、处理、以及呈现基于时间的媒体(time-based media)。当你使用VCR播放一个电影时,你是以录影带的方式提供VCR一个媒体流(media stream)。VCR将之读入并分析、解译录影带上的资料,并把适当的讯号送到用户的电视和音响。JMF也是使用这个同样的模型架构。一个数据源(data source)会将媒体流(media stream)封装起来,就有如录影带一般。而一个播放器(player)会提供处理以及控制,类似VCR所提供的控制机制。使用JMF播放、和捕捉影音则需要适当的输入输出装置如麦克风、照相机、音响、以及屏幕等等。

图2 VCR运作模式

时间: 2024-12-06 06:52:32

JMF介绍之媒体框架(一)的相关文章

JMF介绍之媒体框架(二)

4.1播放器(Players) 播放器(Player)对一个媒体数据输入流进行处理,并实现时间上的精确播放.数据源(DataSource)将输入流传递到播放器.播放器将声音或(和)视频传递到相应的目标地(destination). 图9为JMF播放器模型 播放器在处理和显示媒体数据过程中不提供任何控制.通过继承Clock和Controller类,播放器可支持标准的用户控制功能以及部分限制操作. 图10为JMF 播放器 4.1.1播放器状态(Player States) 播放器对象有多种状态,JM

JMF介绍之基于时间的媒体

1.基于时间的媒体(time-based media) 任何数据随时间的变化而变化的可被定义为基于时间的媒体.音频剪辑,MIDI序列,视频剪辑,动画都是基于时间的媒体形式. 下图从基本的数据处理过程模式角度说明了基于时间的媒体的主要特点和使用过程: 2.流媒体(streaming media) 基于时间的媒体的一个主要特点是它必须被实时的传输和处理.一旦这个媒体数据流打开,它的接收(receiving)和显示(presenting)数据必须要基于时间.正因为此,基于时间的媒体通常被定义为流媒体(

介绍SSH三大框架?

问题描述 请你说说你对Struts.Spring.Hibernate的认识? 解决方案 解决方案二:struts控制层hibernate持久层spring无缝隙粘合解决方案三:该回复于2011-03-17 13:50:13被版主删除解决方案四:个人认为:3个框架的作用不同,但是一定要有struts,struts是个"连接件",业务逻辑都写在这里面了,是MVC中的C,也就是控制层:hibernate是为了封装数据库,是MVC中的M,模型层,这个没什么太大不同的,反正就是JDBC的功能了,

详细介绍 Oracle 9i 的各个技术特征

在介绍 Oracle9i 之前我们先介绍一些关于 Oracle 公司的资料,让各位朋友更多了解 Oracle. 1977 年,拉里·艾里森和Bob Miner.Ed Oates一起创建一家软件开发实验室(Software Development Laboratories).开发当时新型的数据库技术--关系型数据库系统,并将第一个产品命名为"Oracle",意为"智慧之源".1978年软件开发实验室更名为关系型软件公司(Relational Software Inc.

全新感受Oracle 9i_oracle

正在看的ORACLE教程是:全新感受Oracle 9i. Oracle 背景资料  在介绍 Oracle9i 之前我们先介绍一些关于 Oracle 公司的资料,让各位朋友更多了解 Oracle. 1977 年,拉里·艾里森和Bob Miner.Ed Oates一起创建一家软件开发实验室(Software Development Laboratories).开发当时新型的数据库技术--关系型数据库系统,并将第一个产品命名为"Oracle",意为"智慧之源".1978年

WebSphere Commere增量代码的自动构建与部署框架介绍

其中包括涉及的概念,使用的工具,框架结构和环境的准备.通过阅读本文,读者能够对如何实现自动化代码构建和部署有一个基本的了解. Agile -敏捷开发.近些年开始被人们广泛关注.它提倡将一个完整的软件版本划分为多个迭代周期.每个迭代实现不同的特性.重大的,优先级高的特性优先实现,风险高的特性优先实现.在项目的早期就将软件的原型开发出来,并基于这个原型在后续的迭代中不断完善. Delta Code -增量代码.在 Agile 开发模式中,开发人员基于软件原型不断的编写代码对其进行完善和扩充.这些代码

基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍_javascript技巧

本文主要介绍这个Bootstrap框架的总体性功能界面,介绍其中用到的知识点和整体性的界面.希望读者对框架有一个更加直观.真实的认识了解,界面设计以及相关思路可以借鉴提高,也可以对相关的内容进行相互探讨,共同提高. 1.<基于Metronic的Bootstrap开发框架>技术特点 1)采用最新最炫的Bootstrap响应式框架技术 整个基于Metronic的Bootstrap开发框架,界面部分采用较新的Bootstrap技术,采用当前最新的Bootstrap3.x,集成了众多功能强大的Boot

thinkPHP框架介绍(一)

原文:thinkPHP框架介绍(一) 一.ThinkPHP的介绍   期间有对ThinkPHP框架在学习上的问题欢迎大家交流:QQ:812231134          MVC M - Model 模型                      工作:负责数据的操作V - View  视图(模板)        工作:负责前台页面显示C - Controller 控制器(模块) 工作:描述功能 二.ThinkPHP的MVC对应的目录  M 项目目录/应用目录/Lib/ModelV 项目目录/应用

SSH框架下载地址及说明介绍地址

Struts2 下载地址 http://struts.apache.org/download.cgi Hibernate下载地址 http://hibernate.org/orm/downloads/ Spring下载地址 http://repo.springsource.org/libs-release-local/org/springframework/spring/ http://repo.springsource.org/libs-release-local/org/springfram