流媒体技术基础-流媒体文件格式
微軟高級(jí)流格式ASF簡(jiǎn)介?
--Microsoft公司的Windows Media的核心是ASF(Advanced Stream Format)。微軟將ASF 定義為同步媒體的統(tǒng)一容器文件格式。ASF是一種數(shù)據(jù)格式,音頻、視頻、圖像以及控制命令腳本等多媒體信息通過這種格式,以網(wǎng)絡(luò)數(shù)據(jù)包的形式傳輸,實(shí)現(xiàn)流式多媒體內(nèi)容發(fā)布。?
ASF最大優(yōu)點(diǎn)就是體積小,因此適合網(wǎng)絡(luò)傳輸,使用微軟公司的最新媒體播放器(Microsoft Windows Media Player)可以直接播放該格式的文件。用戶可以將圖形、聲音和動(dòng)畫數(shù)據(jù)組合成一個(gè)ASF格式的文件,當(dāng)然也可以將其他格式的視頻和音頻轉(zhuǎn)換為ASF格式,而且用戶還可以通過聲卡和視頻捕獲卡將諸如麥克風(fēng)、錄像機(jī)等等外設(shè)的數(shù)據(jù)保存為ASF格式。另外,ASF格式的視頻中可以帶有命令代碼,用戶指定在到達(dá)視頻或音頻的某個(gè)時(shí)間后觸發(fā)某個(gè)事件或操作。?
11.8.1 ASF的特征?
可擴(kuò)展的媒體類型- ASF文件允許制作者很容易地定義新的媒體類型。ASF格式提供了非常有效的靈活地定義符合ASF文件格式定義的新的媒體流類型。任一存儲(chǔ)的媒體流邏輯上都是獨(dú)立于其他媒體流的,除非在文件頭部分明顯地定義了其與另一媒體流的關(guān)系。?
部件下載-特定的有關(guān)播放部件的信息(如,解壓縮算法和播放器)能夠存儲(chǔ)在ASF 文件頭部分,這些信息能夠?yàn)榭蛻魴C(jī)用來找到合適的所需的播放部件的版本---如果它們沒有在客戶機(jī)上安裝。?
可伸縮的媒體類型- ASF是設(shè)計(jì)用來表示可伸縮的媒體類型的\"帶寬\"之間的依賴關(guān)系。ASF存儲(chǔ)各個(gè)帶寬就像一個(gè)單獨(dú)的媒體流。媒體流之間的依賴關(guān)系存儲(chǔ)在文件頭部分,為客戶機(jī)以一個(gè)獨(dú)立于壓縮的方式解釋可伸縮的選項(xiàng)提供了豐富的信息流的優(yōu)先級(jí)化- 現(xiàn)代的多媒體傳輸系統(tǒng)能夠動(dòng)態(tài)地調(diào)整以適應(yīng)網(wǎng)絡(luò)資源緊張的情況(如,帶寬不足)。多媒體內(nèi)容的制作者要能夠根據(jù)流的優(yōu)先級(jí)表達(dá)他們的參考信息,如最低保證音頻流的傳輸。隨著可伸縮媒體類型的出現(xiàn),流的優(yōu)先級(jí)的安排變得復(fù)雜起來,因?yàn)樵谥谱鞯臅r(shí)候很難決定各媒體流的順序。ASF允許內(nèi)容制作者有效地表達(dá)他們的意見(有關(guān)媒體的優(yōu)先級(jí)),甚至在可伸縮的媒體類型出現(xiàn)的情況下也可以.?
多語言- ASF設(shè)計(jì)為支持多語言。媒體流能夠可選地指示所含媒體的語言。這個(gè)功能常用于音頻和文本流。一個(gè)多語言ASF文件指的是包含不同語言版本的同一內(nèi)容的一系列媒體流,其允許客戶機(jī)在播放的過程中選擇最合適的版本。?
目錄信息- ASF提供可繼續(xù)擴(kuò)展的目錄信息的功能,該功能的擴(kuò)展性和靈活性都非常好。所有的目錄信息都以無格式編碼的形式存儲(chǔ)在文件頭部分,并且支持多語言,如果需要,目錄信息既可預(yù)先定義(如,作者和標(biāo)題),也可以是制作者自定義。目錄信息功能既可以用于整個(gè)文件也可以用于單個(gè)媒體流。?
11.8.2 ASF文件格式?
11.8.2.1 ASF 對(duì)象定義?
ASF文件基本的組織單元叫做ASF 對(duì)象,它是由一個(gè)128位的全球唯一的對(duì)象標(biāo)識(shí)符(Object ID),一個(gè)64位整數(shù)的對(duì)象大小(Object Size)和一個(gè)可變長的對(duì)象數(shù)據(jù)(Object Data)組成。對(duì)象大小域的值是由對(duì)象數(shù)據(jù)的大小加上24比特之和。?
圖11.8 ASF對(duì)象?
這個(gè)文件組織單元有點(diǎn)類似于RIFF(Resource Interchange File Format)字節(jié)片。RIFF字節(jié)片時(shí)AVI和WAV文件的基本單位。ASF對(duì)象在兩個(gè)方面改進(jìn)了RIFF的設(shè)計(jì)。首先,無需一個(gè)權(quán)威機(jī)構(gòu)來管理對(duì)象標(biāo)識(shí)符系統(tǒng),因?yàn)橛?jì)算機(jī)網(wǎng)卡能夠產(chǎn)生一個(gè)有效的唯一的GUID。其次,對(duì)象大小字段已定義得足夠處理高帶寬多媒體內(nèi)容的大文件。?
11.8.2.2 高層文件結(jié)構(gòu)?
ASF文件邏輯上是由三個(gè)高層對(duì)象組成:頭對(duì)象(Header Object)、數(shù)據(jù)對(duì)象(Data Object)和索引對(duì)象(Index Object).。頭對(duì)象是必需的并且必須放在每一個(gè)ASF文件的開頭部分,數(shù)據(jù)對(duì)象也是必需的,且一般情況下緊跟在頭對(duì)象之后。索引對(duì)象是可選的,但是一般推薦使用。
圖11.9 高層ASF文件結(jié)構(gòu)?
在具體實(shí)現(xiàn)過程中可能會(huì)出現(xiàn)一些文件包含無序的(Out-Of-Order)的對(duì)象,ASF也支持,但在特定情況下,將導(dǎo)致ASF 文件不能使用,如從特定的文件源如HTTP服務(wù)器讀取該類ASF文件。同樣地,額外的高層對(duì)象也可能被運(yùn)用并加入到ASF文件中。一般推薦這些另加的對(duì)象跟在索引對(duì)象之后。?
ASF數(shù)據(jù)對(duì)象能夠被解釋的一個(gè)前提條件是頭對(duì)象已被客戶機(jī)接收到。ASF沒有聲明頭對(duì)象信息是如何到達(dá)客戶端的,\"到達(dá)機(jī)制\"是一個(gè)\"本地實(shí)現(xiàn)問題\",顯然已超過了ASF 的定義范圍。頭對(duì)象先于數(shù)據(jù)對(duì)象到達(dá)有三種方式:?
包含頭對(duì)象的信息作為\"會(huì)話聲明\"的一部分。?
利用一個(gè)與數(shù)據(jù)對(duì)象不同的\"通道\"發(fā)送頭對(duì)象。?
在發(fā)送ASF 數(shù)據(jù)對(duì)象之前發(fā)送頭對(duì)象。?
11.8.2.2.1 ASF 頭對(duì)象?
在ASF的三個(gè)高層對(duì)象中,頭對(duì)象是唯一包含其他ASF 對(duì)象的對(duì)象。頭對(duì)象可能包含一下對(duì)象:?
文件屬性對(duì)象(File Properties Object)----全局文件屬性。?
流屬性對(duì)象(Stream Properties Object)----定義一個(gè)媒體流和其屬性。?
內(nèi)容描述對(duì)象(Content Description Object)----包含所有目錄信息。?
部件下載對(duì)象(Component Download Object)----提供播放部件信息。?
流組織對(duì)象(Stream Groups Object)----邏輯上把多個(gè)媒體流組織在一起。?
可伸縮對(duì)象(Scalable Object)----定義媒體流之間的可伸縮的關(guān)系。?
優(yōu)先級(jí)對(duì)象(Prioritization Object)----定義相關(guān)流的優(yōu)先級(jí)。?
相互排斥對(duì)象(Mutual Exclusion Object)----定義排斥關(guān)系如語言選擇。?
媒體相互依賴對(duì)象(Inter-Media Dependency Object)----定義混合媒體流之間的相互依賴關(guān)系。?
級(jí)別對(duì)象(Rating Object)----根據(jù)W3C PICS定義文件的級(jí)別。?
索引參數(shù)對(duì)象(Index Parameters Object)----提供必要的信息以重建ASF文件的索引。?
?
圖11.10 ASF 頭對(duì)象?
頭對(duì)象的作用是在ASF文件的開始部分提供一個(gè)眾所周知的比特序列,并且包含所有其它頭對(duì)象信息。頭對(duì)象提供了存儲(chǔ)在數(shù)據(jù)對(duì)象中的多媒體數(shù)據(jù)的全局的信息。?
11.8.2.2.2 ASF數(shù)據(jù)對(duì)象?
數(shù)據(jù)對(duì)象包含一個(gè)ASF 文件的所有多媒體數(shù)據(jù)。多媒體數(shù)據(jù)以ASF數(shù)據(jù)單元的形式存儲(chǔ),每一個(gè)ASF數(shù)據(jù)單元都是可變長的,且包含的數(shù)據(jù)必須是同一種媒體流。數(shù)據(jù)單元在當(dāng)它們開始傳輸?shù)臅r(shí)候在數(shù)據(jù)對(duì)象中自動(dòng)地排序,這種排序來自于交叉存儲(chǔ)的文件格式。?
11.8.2.2.3 ASF索引對(duì)象?
ASF索引對(duì)象包含一個(gè)嵌入ASF文件的多媒體數(shù)據(jù)的基于時(shí)間的索引。每以索引進(jìn)入表現(xiàn)的時(shí)間間隔是在制作時(shí)設(shè)置的,并且存儲(chǔ)在索引對(duì)象中。由于沒有必要為一個(gè)文件的每一個(gè)媒體流建立一個(gè)索引,因此,通常利用一個(gè)時(shí)間間隔列表來索引一系列的媒體流。?
?
本文鏈接地址:http://www.chinavideoonline.com/lmtchangshi/lmtchangshi_008.htm
總結(jié)
以上是生活随笔為你收集整理的流媒体技术基础-流媒体文件格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H3C网络设备模拟器配置VLAN-Hyb
- 下一篇: H3C交换机关闭STP生成树协议的方法