JMF介绍之基于时间的媒体

1.基于时间的媒体(time-based media)

任何数据随时间的变化而变化的可被定义为基于时间的媒体。音频剪辑,MIDI序列,视频剪辑,动画都是基于时间的媒体形式。

下图从基本的数据处理过程模式角度说明了基于时间的媒体的主要特点和使用过程:

2.流媒体(streaming media)

基于时间的媒体的一个主要特点是它必须被实时的传输和处理。一旦这个媒体数据流打开,它的接收(receiving)和显示(presenting)数据必须要基于时间。正因为此,基于时间的媒体通常被定义为流媒体(streaming media)。

2.1内容类型(content type)

媒体存储的格式称为它的内容类型(content type)。QuickTime, MPEG, WAV 都是内容类型的一种。

2.2媒体流(media streams)

媒体流是指从本地文件,网络或相机,麦克中得到的媒体数据。媒体流通常包含多个数据通道,称其为道(tracks)。例如,一个Quicktime文件可能包含一个音频道和一个视频道。包含多道的媒体流通常被称为复合的(multiplexed)或合成的(complex)媒体流。分离(Demultiplexing)是指从一个合成的媒体流中提取单个道的过程。

一个道的类型(type)识别了它所包含的数据的类型,比如是音频的或视频的。一个道的格式(format)定义了它所包含的数据结构。

一个媒体流可以通过它的存储位置和用于访问它的协议来识别。例如,可以使用URL来定位一个本地的或非本地的QuickTime文件。如果它是本地的,可以通过文件协议(FILE protocol)访问它。如果它在一个Web服务器上,可以通过HTTP协议(HTTP protocol)访问它。当无法使用URL来定位媒体流时,可以使用一个媒体定位器(media locator)来识别媒体流的位置。

以下是基于传输方式的媒体流分类:

lPull—由客户端发起并控制的数据传输。超文本传输协议和文件传输协议都是pull协议。

lPush—由服务器端发起并控制的数据传输。实时传输协议(RTP)是一个用于流媒体的push协议。

2.3常用媒体格式(formats)

下表列出了常用的音频(Table2)和视频(Table1)格式。在选用某种格式时,我们应该考虑对媒体质量的要求、对CPU的要求和对网络传输带宽的要求。

Format Content Type Quality CPU Requirements Bandwidth Requirements
Cinepak AVI

QuickTime

Medium Low High
MPEG-1 MPEG High High High
H.261 AVI

RTP

Low Medium Medium
H.263 QuickTime

AVI

RTP

Medium Medium Low
JPEG QuickTime

AVI

RTP

High High High
Indeo QuickTime AVI Medium Medium Medium

Table 1:常用视频格式

Format Content Type Quality CPU Requirements Bandwidth Requirements
PCM AVI

QuickTime

WAV

High Low High
Mu-Law AVI

QuickTime

WAV

RTP

Low Low High
ADPCM

(DVI,

IMA4)

AVI

QuickTime

WAV

RTP

Medium Medium Medium
MPEG-1 MPEG High High High
MPEG

Layer3

MPEG High High Medium
GSM WAV

RTP

Low Low Low
G.723.1 WAV

RTP

Medium Medium Low

Table 2: 常用的音频格式.

时间: 2024-11-28 14:01:47

JMF介绍之基于时间的媒体的相关文章

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 和应用程序中播放各种媒体文件.它提供了对

Cisco路由器的基于时间控制策略

在校园网的管理中,客户端的访问控制是重要的一环,我们经常使用Access-list来进行控制,如果和时间相结合,控制起来将更加灵活.Cisco从IOS版本12.0开始引入基于时间的访问表,可以实现某个时间点或时间段的控制,如:我校控制"班班通"教室内的上网时间段为:每个工作日的早上8∶00到下午18∶00允许Web冲浪,其他时间禁止访问Internet.实现基于时间的访问表只需要两个步骤:第一步,定义一个时间范围:第二步,在访问表中用Time-range引用刚刚定义的时间范围.下面我们

【TSPITR】RMAN表空间基于时间点的自动恢复

[RMAN]TSPITR--RMAN表空间基于时间点的自动恢复 1.1  BLOG文档结构图       1.2  前言部分   1.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① TSPITR表空间基于时间点的自动恢复 ② logminer的简单应用   本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 1.2.2  实验环境介绍   目标库:11.2.0.3 

基于设计选择媒体查询不是基于移动设备

文章简介:基于设计的媒体查询. 在刚一开始的时候,我们已经把特定移动设备的媒体查询运用到我们的网站上,并且服务于我们(网站),因为当时我们只是需要一种应急式的响应式设计解决方案来适应iPhone和屏幕相似的智能手机. 但是随着大量移动设备不断地被推向市场,现在是时候重新考虑使用在我们设计中的公用响应式设计断点了.为什么呢?因为原来方法重用性不高.我们也必须去改变下面讲到需要改变原来方法的理由和为什么我们要在这些特殊点上设置我们的响应式设计断点的背后积极因素. 我将会围绕"基于设计的媒体查询&qu

Oracle技术:基于时间点的表空间恢复

TSPITR(表空间时间点恢复)用于将一个或多个表空间恢复到过去某个时间点的状态,而其他表空间仍然保持现有状态. TSPITR 相关的概念和术语: (1) TSPITR (Tablespace Point-In-Time Recover).TSPITR 是表空间时间点恢复的英文缩写格式,它表示将一个或多个表空间恢复到过去时间点的状态,而其他 表空间仍然保持现有状态. (2) TSPITR 实现方法.当实现表空间时间点恢复时,既可以使用用户管理的表空间时间点恢复方法,也可以使用RMAN 管理的表空

Oracle技术:手动实现表空间基于时间点的恢复

实验说明: (1)先创建2个表空间. create tablespace user01 datafile '/opt/oracle/oradata/ocp/user01.dbf' size 1M; create tablespace user02 datafile '/opt/oracle/oradata/ocp/user02.dbf' size 1M; (2)在每个表空间上各创建一张表. create table scott.customers (cust_id int,cust_name v

Oracle技术:使用rman进行表空间基于时间点的恢复

实例说明: (1)先创建2个表空间. create tablespace user01 datafile '+DG1' size 1M; create tablespace user02 datafile '+DG1' size 1M; (2)在每个表空间上各创建一张表. create table scott.customers (cust_id int,cust_name varchar2(10)) tablespace user01; create table scott.sales (id

Access数据库基于时间sql盲注的实现记录

  Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统.本文我们来看看Access数据库基于时间sql盲注的实现记录. 概述 众所周知,access数据库是不支持基于时间的盲注方式,但是我们可以利用access的系统表MSysAccessObjects,通过多负荷查询(Heavy Queries)的方式实现. 初步探究 我们以SouthIdcv17数据库为例 执行 select * from Southidc_About ,返回结果如下图. 如何实现time

Redis内核基于时间点的备份恢复和基于AOF日志的增量同步机制设计

直播视频回顾 Redis内核支持基于时间点的备份恢复 Redis内存数据库,须有一种机制能够把内存中的数据持久化到硬盘上,再将硬盘中数据备份到备份系统中,才能去做恢复.Redis原生的持久化机制包括RDB持久化和AOF持久化两种. RDB持久化 RDB持久化触发方式有两种: 手动触发:执行BGSAVE命令: 自动触发:配置SAVE选项,在指定时间内发生指定次数的key修改,自动进行后台RDB SAVE. RDB持久化流程如下: 在做RDB SAVE时需要fork一个子进程,每次RDB SAVE生