2012-11-15 124 views
2

我們在Windows Azure上有一個Worker角色,該角色運行ffmpeg以使用MediaHandler Pro轉換媒體文件。我們喜歡處理的文件保存在blob存儲中,並且生成的文件也應該存儲在那裏。將Azure存儲Blob作爲文件系統訪問

我們的問題是ffmpeg在本地文件上工作,而不是在blob存儲的URI上。有沒有什麼方法可以裝載blob存儲容器,並直接作爲文件系統訪問文件?

如果這是不可能的,可以下載文件(它們可能很大,也許1-2Gb)到本地文件系統*,在那裏處理它們然後上傳它們。這聽起來像是多餘的。

*)我們已經設置了下載這個BLOB到虛擬盤中的CloudDrive

+0

我認爲dunnry在這裏有正確的答案。如果您不承諾使用MediaHandler,另一種選擇是完全跳過編碼並使用Azure媒體服務:https://www.windowsazure.com/en-us/home/features/media-services/ –

+0

我開始了使用Azure媒體服務,但我有很大的麻煩讓它在Azure 1.8(Net 4.5)上運行。它也缺乏對水印和ogg/webm輸出的支持,所以我決定使用ffmpeg直到它被更新。 – Martin

回答

1

你有這樣做的幾種方法 - 你可以創建一個雲驅動器(VHD上傳的頁面BLOB)和掛載或者您可以在本地下載源文件並在臨時(本地臨時)磁盤上工作。在這兩種選擇中,我會在本地下載並使用暫存盤。

如果您要使用雲端硬盤,則會出現3個主要問題 - 第一個問題是它是VHD,您必須將其安裝以獲取文件。第二個是RW只能安裝1個實例,因此不能將多個工作源的編碼源文件的工作保存到同一個驅動器。第三個問題是它是所有存儲選項中速度最慢的。對於編碼,可能不是一個很好的選擇。

最好的辦法是從blob存儲(非常快速,順便說一句)下載源文件到'本地資源'(aka scratch disk)並從那裏開始工作。將結果文件上傳到BLOB存儲。

+0

謝謝,我創建了一個本地存儲並下載到該目錄。它似乎很好地工作。 – Martin