2011-09-17 27 views
2

我需要重寫QuickTime參考影片,使其指向另一組文件。 我在Windows環境中工作,所以我沒有對QuickTime API的訪問權限,並且被引用的文件不可訪問,我也無法使用COM接口加載電影,因爲它無法解析引用的路徑。QuickTime'dref'atom'alis'元素的結構

「QuickTime文件格式規範」中的文檔說'dref'原子可以包含'alis','url'和'rsrc'數據引用的列表。在這種情況下,我需要解析'alis'元素。根據參考,「數據引用是Macintosh別名」。

這麼長時間以來,我一直無法看到結構或任何相關信息的聲明。你知道別名記錄的結構嗎?我在哪裏可以找到關於它的結構的詳細信息?

非常感謝您的幫助!

+1

我想我剛剛發現了一個非官方文檔:[link](http://xhelmboyx.tripod.com/formats/alias-layout.txt) –

回答

0

您可以使用this Java program來查看標題中的內容並提取數據(有點舊,但可能仍然有效)。然而,更有用的是作者對QuickTime標題的深入討論。

但我想你可能只是在尋找Apple文檔currently found here

1

該格式與您可以在Finder中右鍵單擊某個項目併爲其創建別名的別名類似。另外:當最初指定QuickTime格式時,Apple智能地選擇了許多其他標準和範例,這些標準和範例已廣泛用於操作系統中的其他地方。這就是爲什麼QT能夠(或有能力)做出像參考電影這樣的聰明事情的原因之一。不幸的是,現在還有很多來自操作系統功能的剩餘殘留(即AppleShare)。早在其鼎盛時期,QuickTime就是光滑的,特別是與其競爭對手相比;今天,由於錯誤的Windows端口以及當時桌面系統處理能力相對較低,因此它被大大低估了。

不幸的是,不幸的是,別名文件的格式不是一個開放/發佈的標準,並且在網絡上有關於該主題的珍貴文檔很少。真正有一個 old doc可以解構Mac OS Classic中使用的別名格式。雖然OS X中使用的結構非常相似,但別名文件本身往往會更大,因爲它們在文件的末尾包含許多額外的數據字符串,這些數據字符串未在上述鏈接的文檔中記錄。

此外,在查找器中創建的別名與dref原子中包含的別名看起來有點不同,儘管我從來沒有一點一點地通過它們來推斷實際差異。如果你想利用在偷看什麼這些文件,並且安裝了OS X開發工具,你可以運行

setfile -a a [filename] 
在Finder中產生的別名

剝奪其別名岬的文件,這樣就可以了在十六進制編輯器中查看它的內容(否則,操作系統會將您重定向到鏈接文件 - doh!)。你可以重新設置文件的別名屬性,或者擅自通過運行

setfile -a A [filename] 

不幸的是,在我的實驗,傾倒QT電影的dref原子的alis部分指定的任何文件作爲別名似乎從來沒有產生一個別名Mac OS能夠解釋。

幸運的是(或不是,因爲它在我的情況),Mac OS據稱用於創建/處理別名的函數是名爲Alias Manager的公共API的一部分,該API是極低級CoreServices框架。如果您有時間深入研究,可以編寫一些代碼來體驗Mac OS內置的別名生成和解釋功能。

不幸的是,如果你正在處理一箇舊的/ bug的文件,你無法知道該文件是否真的由CoreServices的別名管理器生成,或者自那時起該框架已經改變/演變/迴歸。由於這是一種封閉格式,因此選擇不使用別名管理器的第三方開發人員只能對格式的「合法」結構進行猜測。