ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:22.78KB ,
资源ID:7190130      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7190130.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JMFAPI中文指导Word文档下载推荐.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

JMFAPI中文指导Word文档下载推荐.docx

1、關於TIME,可實作二個相關的interface:Clock Interface:定義了basic timing和同步時所需的資料,clock是使用TimeBase作為track行進的時間(而time-base提供的資訊只有目前的時間,以system clock為主) Duration Interface:影片的開始到結束的時間(片長時間) 為了維持track目前時間,Clock使用:以time來記錄 以position來記錄 以play back rate:rate=張數 / 秒數 * 時間 公式:MediaTime=MediaStartTime+Rate(TimeBaseTime-Time

2、BaseStartTime) 位置 絕對時間 JMF time model 對於媒體的擷取、處理和播放時間性的媒體,JMF都有提供相關的API。JMF所使用的 4 個managers:1. Manager-包含Players, Processors, DataSources和DataSink四種classes,object都是用此四種去建構成的。2. PackageManager-可自定classes,如:自定的Players、 Processors、 DataSources、DataSinks 3. CaptureDeviceManager-當我們要從input device去capturi

3、ng媒體資料的話,就需使用CaptureDeviceManager去尋找可以使用、存取的devices。4. PlugInManager-當我們要處理資料的performance時(如:編碼),可以使用 plug-in的處理元件,如Multiplexers,Demultiplexers, Codecs, Effects、Renderers. 在JMF的程式中,我們將使用到這些Manager去create methods去建構Players、 Processors、 DataSources、DataSinks。MediaEvent 是定義許多JMF事件的子集合。如:我們要implement一個

4、listener的interface,我們就需呼叫事件:addListener;我們要去controller objects(像Players和Processors)和creatain Control objects就需呼叫事件:GainControl。JMFmedia players通常使DataSources管理媒體的傳輸、連結。DataSource包含了媒體位置、protocol、和使用何種軟體來傳送媒體。DataSource不是透過MediaLocator就是透過URL來定義,MediaLocator很類似URL而且可以從URL中去建構,即使系統上沒有安裝符合的protocol han

5、dler仍可被create。(但在Java中,只有在系統上安裝符合的protocol handler時才可被create) DataSource管理一或多個SourceStream objects。一個標準的data source是使用byte為傳送單位;一個buffer data source是使用buffer為傳送單位。JMF定義了幾種DataSource objects的型態:根據資料傳送方式分類:PullDataSource:client端開始傳送資料,並控制pull data-sources的資料流,使用的protocols型態為HTTP、FILE。JMF定義二種pull data

6、sources型態:PullDataSource、PullBufferDataSouce。PushDataSource:server端開始傳送資料,並控制push data-sources的資料流。使用的protocols型態包括RTP、multicast media、VOD。JMF定義二種push data sources型態:PushDataSource、PushBufferDataSouce client端程式可依使用者自訂,並將其以dataSource型態播出。例如:MPEG:使用者可自行改變播放位置、重播。相對的,廣播則是由server端控制,則無法改變播放位置,有些VOD支援使用者

7、控制例如:client端程式允許使用者能尋找到新的位置,但無法快轉或倒帶。Specialty DataSources JMF定義了二個特殊的Data Sources型態:Cloneable data Sources、Merging data Source 必須注意的是合併時DataSource須都皆為同一型態,例如:PullDataSource與PushDataSource不可合併。而合併後的Content Type為application/mixed-media。Data Formats 描述媒體編碼格式名稱,資料格式型態的需求。JMF繼承Format去定義audio和video的格式:Au

8、dioFormat:記載audio格式的屬性,例如:頻率、bits數、和channel數量 VideoFormat:包含video相關的資料訊息。VideoFormate包含以下數個共同的格式: IndexedColorFormat 、RGBFormat 、YUVFormat 、JPEGFormat 、H261Format 、H263Format 提供設定、查詢物件屬性,通常提供存取符合的使用者介面元件,可讓使用者控制物件的屬性。許多JMF objects有接觸到Controls,包括:Controller objects、DataSource objects、DataSink objects

9、、JMF plut-ins。上圖為JMF controls JMF定義的Standard Controls:CachingControl:監控下載進度和播放,假如,Player或Processor可以記載download progress,CachingControl就可以implements interface,讓progress bar可以display出來。GainControl:能夠調整audio音量,例如:對於player或processor輸出的聲音做調整或消音,它同時支援音量改變的mechanism。上圖為Gain control l StreamWriterControl:可使

10、用DataSink或Multiplexer等objects從Data Source讀入媒體,並寫至目的地(如:file),可實作StreamWriterControl介面,且這個Control可限制stream產生的大小。 FramePositioningControl:可在Player或Processor物件的media stream中正確地取得Frame的位置。 FrameGrabbingControl:可以從video stream中攫取video frame,且此Control也支援Render。 FromatControl:提供查詢與設定格式的method。 TrackControl

11、:是屬於FormatControl的一種型態,用在個別的tracks處理processor object performs上(如:Effect、Codec、Render plug-ins) PortControl、MonitorControl:可以用來控制capture process。PortControl定義了用來控制屬於capture輸出設備的method。MonitorControl可以預覽capture完、encode完後的media data。 BufferControl:在特別的objects上控制 buffer的處理。 Codec control:可以控制軟、硬體的編、解碼器

12、BitRateControl FrameProcessingControl FrameRateControl H261Control H263Control KeyFrameControl MpegAudioControl QualityControl SilenceSuppressionControl Ueser Interface Components Control提供可以存取user interface Component(讓使用者可以看得到媒體撥放的狀態) getControlComponent:這個method是繼承AWT Component下來的,可以讓我們增加applets p

13、resentation space或application window。 getVisualComponent、getControlPanelComponent:這二個方法可以得到player執行的畫面和控制狀態畫面。當然,如果你不使用這些內定的control component時,也可以自定自己的component 可透過二種方式繼承JMF的功能 、經由實作自訂的處理元件(plug-ins) 、透過實作the Controller, Player, Processor, DataSource, 或 DataSink 介面 這部分屬於plug-in部分,講到p.85時會重新提到 在JMF中,

14、播放的處理都是由Controller interface來完成。Controller定義了物件的控制、播放或擷取時間性媒體的控制機制。Controller:為一介面,繼承自Clock,提供來源配置的狀態訊息,事件的產生,並且於獲得物件的機制提供控制。JMF API 定義二種型態的Controllers: Players and Processors。 Player or Processor 產生於特定資料來源時,且不再被重複使用去播放其他的媒體 上圖為JMF controllers Player:繼承自Controller interface,用於傳送和控制時間性的媒體資料,對於AWT元件的取

15、得、媒體的處理控制,Player都有提供methods 處理傳入的媒體流,並精確地傳送出去。DataSource: 通常傳入的media-stream 傳送給Player,至輸出裝置再依其型態將之播出 上圖為JMF player model Player在處理上不提供任何的控制機制,但支援標準化的使用者控制,透過Clock 和 Controller的操作達成。Player可分成六個狀態,Clock 介面定義二種基本的的狀態: Stopped 和 Started。為了易於資料來源的管理,Controller再將其中的Stopped階段細分成五個狀態: Unrealized、Realizing、

16、Realized、 Prefetching和 Prefetched. 上圖為player states 一般情況下,Player,必須經過每一階段直到Started的狀態下: Unrealized:當media Player被產生,但仍未知媒體資料時,稱之。 Realizing :player決定資料來源需求時,稱之。Realizing通常用於從網路上下載媒體資料。 Realized :當player完成Realizing後,即進入Realized狀態。至此階段已知媒體的需求及媒體播放型態的資訊。它也提供視覺化的元件 和控制,可以連接到系統的相關物件,但仍沒擁有任何資源,以預防其它的Playe

17、r啟動。 Prefetching :準備開始播放媒體,player若播放位置被改變,則重新配置 Prefetched:進入播放狀態 Started:呼叫start,將Player放 至Started state。當Player物件的time-base time和媒體時間mapping後,開始播出。Player提供TransitionEvents,可以從這個狀態移至另一個狀態中。ControllerListener 介面也提供可決定player位在哪個狀態下和適時地提出respond,例如:在Player或Process中呼叫asynchronous 的method,就需ControllerLi

18、stener提供event來決定operation何時被完成。Methods Available in Each Player State 為了防止race(猛轉,急速)的狀態產生,在Player的每個狀態中並非所有method都可以呼叫,下表為在Player的每個階段中,JMF定義的method使用限制說明,如果是不合法的method,player就會丟出exception。Method Unrealized Player Realized Player Prefetched Player Started Player addController NotRealizedError legal

19、 ClockStartedError deallocate getControlPanelComponent getGainControl getStartLatency getTimeBase getVisualComponent mapToTimeBase ClockStoppedException removeController setMediaTime setRate setStopTime StopTimeSetError if previously set setTimeBase syncStart NotPrefetchedError Table 2-1: Method res

20、trictions for players. Processors也可以用來撥放media data。除了提供媒體撥放的設備外,Processor也可以透過DataSource輸出media data,以便讓其他的Player和Processor來呈現,更進一步地透過其他Processor來操作或傳送到其他的目的地,如檔案中。參見Controls ControllerEvents提供三種類的events: change notifications - 像RateChangeEvent、DurationUpdateEvent、FormatChangeEvent表示可以改變Controller的一

21、些屬性,例如:Player提供RateChangeEvent,當rate被改變時就呼叫setRate。 transition events - TransitionEvents允許我們的程式在Controller objectss state下改變時得到respond,不論是從那個狀態到哪個狀態,player都提供transition events。 closed events - ControllerClosedEvents由ControllerEvent繼承下來,提供shutsdown功能;ControllerErrorEvent由ControllerClosedEvents繼承下來,當程

22、式發生錯誤時,可以respond Controller發生的錯誤及將錯誤造成的影響減到最低。上圖為JMF events Processor:是一個從DataSource輸入,執行一些使用者自定的媒體資料處理,再將其媒體資料輸出的Player。 可傳送輸出資料至播放設備或DataSource(DataSource可如同再輸入至另一個Player或Processor,或輸入至DataSink) 上圖為JMF processors 媒體資料的處理可分割成幾個階段:上圖為 Processor stages. Demultiplexing:剖析input stream,若stream包含了多個track

23、s,則將之分離,例如:QuickTime 檔案分成audio and video tracks。無論是否有包含多樣的資料,皆會自動執行 Demultiplexing。 Pre-Processing: 對input stream中的tracks做特效(effect)的演算處理。 Transcoding :轉碼;壓縮 解壓縮。 Post-Processing:對decoded tracks做特效(effect)的演算處理 5. Multiplexing:將由多個tracks的合併成單一data stream。例:將分離的audio and video tracks合併成單一個MPEG-1 data stream,可藉由setOutputContentDescriptor的 method定義輸出流的資料型態。6. Rendering :將播放媒體出來。Processing執行的每個階段,由不同的proces

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2