Welcome 微信登录

首页 / 软件开发 / JAVA / JMF介绍之基于时间的媒体

JMF介绍之基于时间的媒体2011-03-13 51cto博客 zhangjunhd译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的要求和对网络传输带宽的要求。

FormatContent TypeQualityCPU RequirementsBandwidth Requirements
CinepakAVI

QuickTime
MediumLowHigh
MPEG-1MPEGHighHighHigh
H.261AVI

RTP
LowMediumMedium
H.263QuickTime

AVI

RTP
MediumMediumLow
JPEGQuickTime

AVI

RTP
HighHighHigh
IndeoQuickTime AVIMediumMediumMedium
Table 1:常用视频格式

FormatContent TypeQualityCPU RequirementsBandwidth Requirements
PCMAVI

QuickTime

WAV
HighLowHigh
Mu-LawAVI

QuickTime

WAV

RTP
LowLowHigh
ADPCM

(DVI,

IMA4)
AVI

QuickTime

WAV

RTP
MediumMediumMedium
MPEG-1MPEGHighHighHigh
MPEG

Layer3
MPEGHighHighMedium
GSMWAV

RTP
LowLowLow
G.723.1WAV

RTP
MediumMediumLow

Table 2: 常用的音频格式.