QuickTime

QuickTime

QuickTime 是一款擁有強大的多媒體技術的內置媒體播放器,可讓你以各式各樣的檔案格式觀看網際網路影片、高清電影預告片和個人媒體作品,更可讓你以非比尋常的高品質欣賞這些內容。

QuickTime不僅僅是一個媒體播放器,而且是一個完整的多媒體架構,可以用來進行多種媒體的建立、生產和分發,並為這一過程提供端到端的支持:包括媒體的即時捕捉,以編程的方式合成媒體,導入和導出現有的媒體,還有編輯和製作、壓縮、分發,以及使用者回放等多個環節。

  • 中文名稱
    QuickTime
  • 開發商
    蘋果電腦
  • 分類
    播放器
  • 類別
    多媒體技術的內置媒體

軟體簡介

QuickTime logo演變QuickTime logo演變

  QuickTime logo演變

QuickTime是蘋果公司提供的系統及代碼的壓縮檔,它擁有C和Pascal的編程接口,更高級的軟體可以用它來控製時基信號。應用程式可以用QuickTime 來生成,顯示,編輯,拷貝,壓縮影片和影片資料,就象通常操縱文本檔案和靜止圖像那樣。除了處理影片資料以外,諸如QuickTime3.0還能處理靜止圖像,動畫圖像,矢量圖,多音軌,MIDI音樂,三維立體,虛擬現實全景和虛擬現實的物體,當然還包括文本。它可以使任何應用程式中都充滿各種各樣的媒體。

主要特點

它是一個多媒體平台

無論是來自你的數碼相機或行動電話的影片,Mac 或 PC 上的影片,還是網站上的媒體片段,不論你想看什麽、想在哪裏看,QuickTime 技術都能為你實現。

它是一個先進的媒體播放器

QuickTime Player 擁有簡潔的設計和易用的控製選項,呈現的一切為你帶來更多愉悅享受。其介面幹凈利落,絕不會妨礙你觀看畫面。想要快進播放影片或慢速播放?通過一個便捷的滑塊,你可以將播放速度設定為標準速度的 1/2 倍速到 3 倍速。你還可以快速搜遍單獨的一段影片幀。

它擁有先進的影片技術

QuickTime 擁有稱為 H.264 的先進影片壓縮技術,以更少的頻寬和存儲空間呈現絢麗、清晰的高清影片畫面。這樣,無論你在何處觀看影片,都能感受到原生影片品質。

它具備靈活的檔案格式

QuickTime 可讓你用數位媒體實現更多。有了 QuickTime 7 Pro,你可以將你的檔案轉換為多種格式,還可錄製並剪輯你的作品。第三方外掛程式可以多方向擴展 QuickTime 技術。QuickTime 流媒體解決方案讓你可以流傳輸方式在網際網路上載播你的媒體內容。

技術剖析

QuickTime

QuickTimeQuickTime

  QuickTime

是建立在一些與時基資料相關的概念基礎之上的:原子(Atom)、媒體結構(Media structures)、組件(Component)、時間管理(Time management)、動畫圖像(Sprites)。

原子

QuickTime的原子是QuickTime用來構建等級資料結構的基本容器。新建立的QuickTime原子就象樹的根。隨後的每個原子都包含在其中並且包含資料和其它原子。如果一個QuickTime原子包含其它原子,就被叫做父原子,包含在其中的原子就叫做葉原子。應用程式和其它

QuickTime升級過程QuickTime升級過程

  QuickTime升級過程

各種軟體也可以用QuickTime原子結構來存儲資料。

媒體結構

傳統的影片由連續的資料流組成。QuickTime影片可以按同樣的方法構建,但它不需要這樣做:QuickTime影片可以由取自不同來源的資料流組成,例如模擬影片、存在CDROM上的靜止圖像和MIDI音樂。影片不是媒體,而是媒體的組織方式。

QuickTime影片通常是由許多軌道組成的。軌道不包含影片資料,它僅僅包含這些資料的索引,而真正的資料內容則存在于其它地方。這些資料索引組成了軌道的媒體結構。每個軌道都包含了一個獨立的媒體結構和一個編輯列表,編輯列表用來以時間順序安排媒體結構。媒體結構和編輯列表是做為QuickTime原子來實現的。

組件

QuickTime支持組件使應用程式不需要知道QuickTime用

QuickTime升級過程QuickTime升級過程

  QuickTime升級過程

什麽技術和設備來工作的。許多QuickTime服務,例如壓縮和解壓都是組件來提供的。組件包括代碼,它可以在整個系統中使用,也可以局部于一個特定的應用程式。每個QuickTime組件都實現一個特定的功能集並且提供給它支持的技術和客戶應用程式以特定的接口。因此應用程式和不同技術的實現和管理細節隔離開來。套用已存在的組件可以建立新的組件。例如,你能生成一個組件來支持一種特殊的資料加密演算法。其它的應用程式通過連線你的組件也可以實現這些加密演算法,而不用它們自己再來實現這個加密演算法。

應用程式使用組件是通過調用系統級的組件管理器。組件管理器使你可以定義和登記組件並可以通過使用一個標準的介面來和組件進行聯系。一旦應用程式連線到組件上之後,就可以直接調用組件。當你生成了一種新的組件類的時候,你可以為這種新組件定義一種函式級接口。

時間管理

時間管理是QuickTime影片實現過程中重要的一部分,有時也是比較復雜的一部分。為了控製影片的時間維,QuickTime定義了時間坐標系統,使影片和媒體的資料結構都使用共同的現即時間系統。時間坐標系統包括一個時間尺度,這個尺度提供了在真即時間和影片中的表面時間的轉換。時間尺度以時間單位表示。每秒中度過的時間單位的數量量化了時間尺度。也就是26時間尺度是每秒中包含26個時間單位或者每個時間單位是1/26秒。時間坐標系統也包括持續時間,它是影片的長度或以時間單位來記數的媒體結構的容量。影片中的某點可以由到那一點經過的時間單位的數量來確定。影片中的每個軌道都由時間偏移和持續的時間組成,這些屬性決定了每道開始的時間和長度。每個媒體結構都有自己的時間尺度。影片工具箱把每種媒體資料從影片的時間坐標系統中對應到媒體結構的時間坐標系統。

動畫圖像

在傳統的影片動畫中,你通過確定每個象素的顏色來描述幀。而動畫圖像通過確定出現在不同位置的圖像來描述幀。每個動畫圖像都有屬性,這些屬性用來描述某個時刻圖像的位置和外表。在動畫過程中,應用程式修改圖像的屬性以使它可以改變外表並且可以圍繞螢幕移動。動畫圖像可以和靜止圖像混合,用來在記憶體相對較少時產生較多的效果。

功能

跨平台特徵

QuickTime 並不簡單QuickTime 並不簡單

  QuickTime 並不簡單

QuickTime是一個跨平台的多媒體架構,可以運行在Mac OS和Windows系統上。它的構成元素包括一系列多媒體作業系統擴展(在Windows系統上實現為DLL),一套易于理解的API,一種檔案格式,以及一套諸如QuickTime播放器,QuickTime ActiveX控制項,以及QuickTime 流覽器外掛程式這樣的應用程式

可實現的任務

QuickTime可以用于實現如下一些具體的任務:播放電影和其

  QuickTime播放器

它媒體,比如Flash或者MP3音頻對電影和其它媒體進行非破壞性的編輯。在不同格式的圖像之間進行導入和導出,比如JPEG和PNG對來自不同資料源的多個媒體元素進行合成,分層,和排列把多個依賴于時間的媒體同步到單一的時間線上捕捉和存儲來自即時源的資料序列(sequence),比如音頻和影片輸入以編程的方式將製作完成的資料作成電影使用智慧型化和腳本化的動畫製作精靈建立與閱讀器,遠程資料庫,和應用程式伺服器相互互動的演示建立包含定製形狀的視窗,"皮膚",以及各種控制項的電影在網路或者因特網上即時生成電影流廣播從諸如照相機和麥克風這樣的直播源得到的即時流分發位于磁碟,網路,或者因特網上的可下載媒體。

QuickTime架構

QuickTime架構中廣泛使用了構件技術,它使構件可以獨立為一個模組,並具有彈性和可擴展性。QuickTime構件是接口定義良好的共享代碼資源。人們為QuickTime增加一個新的構件,並使已有的應用程式可以自動找到和使用該構件,這很大程度上是因為這個新構件和同屬一個大類的已有構件一樣,都對同樣的API進行回響。

舉例來說,QuickTime可以處理很多媒體類型:聲音,影片,文本,精靈,Flash,3D模型,圖片虛擬現實,還有一些其它類型。每種媒體類型的處理,都需要一個媒體處理器構件來支持。QuickTime支持的媒體數量和類型都是不斷成長的,您自己可以通過建立一個新的媒體處理器構件,來為QuickTime增加一個新的媒體類型。

結構

QuickTime包括影片工具箱圖像壓縮兩個管理器,加上內嵌的一套組件。

影片工具箱

套用軟體通過調用在影片工具箱中的函式來實現QuickTime的功能。影片工具箱使應用程式可以儲存、讀取、操縱QuickTime影片中的時基資料。單獨一段影片可以容納好幾種資料。例如,一段包含影片信息的影片可以包括影片資料和伴隨影片資料的音頻資料。

影片工具箱也提供了編輯影片的函式。例如,有這樣的函式,可以通過移去部分影片和音軌來縮短影片,也有函式通過從其它影片中移入新資料來擴展它。

圖像壓縮管理器

圖像資料需要大量的存儲空間。存儲640*480的32位色彩的圖像需要的空間為1.2兆比特。QuickTime影片中包含的一系列圖像,需要許多倍這樣的空間。圖像壓縮管理器提供了獨立于設備和驅動器的壓縮和解壓的方法,它也為實現外部的軟硬體圖像壓縮演算法提供了一個簡單的接口。它提供了系統集成函式用來存儲壓縮圖像,作為Macintosh機上的PICT檔案和Windows下的DIB檔案。它也提供了使任何可以運行QuickTime的機器上的壓縮PICT檔案都可以自解壓的功能。

大多數情形下,通過調用影片工具箱函式或顯示壓縮圖像來避開直接調用圖像壓縮管理器。但是如果應用程式壓縮圖像或者用壓縮圖像製作影片,就可以直接調用圖像壓縮管理器函式。

QuickTime組件

蘋果提供了許多QuickTime內嵌組件。蘋果定義的內嵌組件類型包括圖像壓縮器、媒體處理器和各種各樣的工具。

(1) 資料處理器:包括有影片控製器組件、圖像壓縮組件、圖像轉換組件、影片數位化組件、資料交換組件、聲音處理組件、效果轉換組件、預覽組件等。

(2) 媒體處理器:包括有衍生媒體處理器組件、動畫媒體處理器組件、中間媒體處理器組件等。

(3) 工具:包括有時鍾組件、標準聲音組件、順序抓取組件、順序抓取通道組件、文本軌道組件、順序抓取面板組件等

使用技巧

流媒體、廣播和漸進式下載

QuickTime介面QuickTime介面

  QuickTime介面

QuickTime電影通常以QuickTime電影檔案的形式存儲在磁碟上。這些檔案往往同時包含電影引用的樣本資料。QuickTime API中包含一些函式,用來將電影或者電影及其相關聯的樣本資料存儲到檔案中。缺省情況下,電影資料結構存儲在檔案的開頭(以一個'moov'原子的形式進行存儲),緊跟的是樣本資料(通常包裝在一個'mdat'原子中)。各種樣本資料在缺省情況下會按照某種形式進行編織,以便使同一時刻顯示的媒體資料的存儲地點彼此靠近,同時,播放時間比較早的媒體首先被存儲。

這種典型的電影檔案可以通過web伺服器,或者使用諸如HTTP和FTP這種常見的協定來分發,等同于一個HTML檔案或者JPEG圖像檔案。隻需要把檔案正確地命名,並正確地將檔案擴展名和伺服器上對應的MIME類型關聯起來,就可以了(QuickTime電影檔案正確的擴展名是.mov,其對應的MIME類型是'video/quicktime')。

在通過網路分發,或者通過英特網下載一個檔案的時候,整個檔案並不是馬上就到達在地,但是一個典型的QuickTime電影在下載的同時就可以播放。這個技術叫做漸進式下載(Progressive Download),或者快速開始(Fast Start)。這是由于電影原子被存儲在檔案的起始部分,所以即使電影的樣本資料還沒有到達在地,QuickTime也知道如何對之進行解析;同時也因為QuickTime根據顯示的時間順序對電影資料進行智慧型的編織。

在建立電影時,先存儲電影的樣本資料,緊接著再存儲電影資料結構也是可以的。但是通常都不希望使用這種做法,因為這樣會使QuickTime一直等到整個檔案都下載完成後,才能對樣本資料進行解析。您可以簡單地在QuickTime中開啟電影檔案,並將它存儲為一個新的自包含檔案,來修正這種資料順序顛倒的問題。在缺省情況下,QuickTime將電影資料結構存儲在檔案的起始部分。

QuickTime電影檔案可能隻包含一個電影資料結構,而該結構指向的樣本資料位于其它檔案或者URL中。在大多數情況下,這種類型的電影檔案也可以在電影資料下載的同時進行播放,這是因為電影資料結構使QuickTime可以解析即將到來的資料,也因為每個軌道的資料源都被獨立指定,網路獨立而又同時地進行所有軌道媒體資料的分發,從而實現某種形式的編織。很明顯,在可靠性上這種編織不如QuickTime建立自包含電影檔案時進行的深入編織,因此播放的時候可能不總是那麽平滑。

當連線的頻寬滿足或者超過電影資料率的要求時,一個組織良好的QuickTime電影檔案就可以邊下載邊播放。這種類型的漸進式下載電影,或者說是快速開始電影,就可以提供與即時流媒體一樣的使用者體驗。

如果連線的速度不足以即時播放電影,則您可以等下載完成後才進行播放,或者播放當時已經下載的部分。QuickTime甚至可以估計需要的下載時間,並在它認為已經有足夠的資料可以平滑播放的時候開始播放(因為剩下的資料可以在需要的時候到來)。

QuickTime電影也可以通過諸如RTP和RTSP這種即時協定來分發。那樣的話需要一個流媒體伺服器,比如QuickTime流媒體伺服器,或者Darwin流媒體伺服器。為了即時生成電影流,伺服器需要知道如何對電影中的各個軌道進行分包,這些信息存放在QuickTime電影中的一個稱為索引軌道(hint track) 的特殊軌道中。在QuickTime API中有一些函式,可以在現有的電影中增加一個索引軌道,還有一個標識可以通知QuickTime在將電影存入磁碟的時候建立一個索引軌道。

帶有索引軌道的電影也可以通過HTTP或者FTP協定來進行漸進式下載,但是需要額外的頻寬來下載僅對流媒體起作用的索引軌道。因此,最好首先確定電影的分發方式,然後再確定是將電影存儲為索引電影,還是非索引電影。

對于電影檔案,除了漸進式下載和即時流媒體這兩種分發方式,QuickTime還支持直播(broadcasting)方式,即從諸如照相機或麥克風這樣的即時源中取得資料,建立一個或者多個即時流。這個過程包括捕捉來自即時源的資料,將這些資料按照期望的頻寬進行壓縮,並生向外傳輸的封包流,所有的這些過程都是即時的。QuickTime的廣播API隻支持Mac OS,不能支持Windows或者Java。

路線圖

QuickTime是一套大的API,有超過2000個函式及數十個構件。幸運的是,您通常隻需要使用一小部分QuickTime API就可以完成一個具體的任務。問題在于如何才能知道應該使用QuickTime的哪個部分,以及如何才能找到可以指導自己的文檔和例子代碼。這正是討論這個路線圖的目的所在。

QuickTime通常會有多種方法可以實現同樣的目的,一種是容易實現的方法,大多數工作QuickTime都替您完成了;另外一種則是提供一些不同層次的底層工具箱,您可以通過這些工具箱來自行實現想要的功能。如果您發現自己已經陷入到某些復雜且令人沮喪的問題中,而這些問題應該很簡單,則很可能是因為您現在使用的是不合適的工具箱。這時,請回到路線圖上來,看看是否有更為高級的方法可供使用。

QuickTime API文檔分成17個主要部分,下面列舉這些部分及其相關連線。

"開始使用QuickTime"-獲取進入QuickTime的方向,尋找sdk及推薦讀物。

"基礎"- QuickTime概述,快速上手的教程,構件管理器,如何初始化QuickTime,以及如何開啟和播放電影。

"Windows版本的QuickTime"-Windows版本與Macintosh版本的QuickTimes之間的不同之處。

"使用腳本"-用諸如JavaScript,Visual Basic,AppleScript,HTML,以及SMIL等高級的腳本語言控製蘋果的QuickTime應用程式(包括播放器,流覽器外掛程式,及ActiveX控制項)。

"電影結構的基本知識"-初始化QuickTime,開啟和播放電影,編輯和儲存電影,使用QuickTime的資料類型,為應用程式設定回調函式

"流媒體"-使用基于即時協定的流媒體,進行現場直播,或者為流媒體伺服器書寫模組。

"深入電影結構的內部"-在軌道,屬性和構件級別上使用電影結構;設定時間單位和層;對可視軌道進行旋轉,歪斜,縮放,和變形;使用時鍾控制項,軌道引用和修飾軌道,預覽及媒介訪問鍵

"電影的建立"-捕捉和同步資料,以及建立你自己的電影;使用序列抓取構件(sequence grabber),特定媒介的序列抓取通道構件(比如文本),以及影片數位化器構件(video digitizers)。

"QuickTime的導入和導出"-將數十種其它格式的現有媒介導入到QuickTime中,將電影,軌道,或者圖像導出為各種不同的非QuickTime格式及檔案類型。

"壓縮和解壓"-直接設定和使用圖像和聲音的壓縮器和解壓器,資料編解碼器,以及圖像編碼轉換器。

"影片效果和過渡"-使用QuickTime過濾器,遠離和淡入淡出過渡,以及其它效果。

"媒介類型和媒介處理器"-直接使用影片,聲音,文本,時間碼,還有更多其它的媒介處理器,包括tween構件。

"連線電影和動畫"-以可程式的方式展示動畫,在電影中增加互動控制項和關聯動作,製作可以和遠程伺服器互動的電影。

"虛擬現實"-使用QuickTime VR全景和立方體(cube),設定熱點(hotspot),控製游標,增加互動功能。

"音樂和音頻"-從底層處理音頻,或者使用QuickTime音樂架構來合成音樂。

"傳輸和分發"-使用資料處理器構件和影片輸出構件來從特殊的資料源(比如資料庫)上獲取電影和媒介資料,或者將影片傳送到螢幕之外的輸出設備中。

"書寫構件"-通過書寫自己的構件來處理新的媒介類型,壓縮方法,資料源,輸出設備,時鍾源,以及更多其它對象,從而對QuickTime進行擴展。

檔案格式

1998年2月11日,國際標準組織(ISO)認可QuickTime檔案格式作為MPEG-4標準的基礎。這個行動的支持者表示QuickTime提供一個好的"生命周期"格式,很適合做擷取、編輯、檔案、散布、和播放(相對于簡單以檔案為串流資料方式的MPEG-1和MPEG-2而言,不適合作編輯之用)。在2002年開發者增加了MPEG-4的相容性到QuickTime6。然而,蘋果電腦延遲這個版本的推出達到數個月之久,是因為MPEG-4授權本身的爭議,要求提出的授權金會限製很多使用者和內容的提供者。在妥協之後,蘋果電腦于2002年7月15日推出QuickTime6。

相關詞條

相關搜尋

其它詞條