2012-10-22 89 views
2

我試圖哄AV基金會從內存中的mp4文件中讀取(不使用中間寫入磁盤解決方案)。我嘗試了自己的自定義URL協議,因爲AV Foundation沒有真正使用URL加載系統,所以失敗了。我的下一個解決方案是嘗試構建一個POSIX管道,並讓AV Foundation層從一個命名管道文件(即url「file:///path/path/.../path/mp4file.pipe」)加載一個資源這是用mkfifo()創建的。當試圖通過通常的fopen()調用讀取文件時失敗,但失敗(伴隨着崩潰)AVURLAsset initWithURL:調用。從管道讀取AV資產

當任何人設法讓AVFoundation從管道中讀取,或者更一般地說,讓AVFoundation能夠在內存中使用mp4文件?

謝謝。

+0

@stackmonster:我只能在github上找到TSLibraryImport,它處理從iPod導入用戶庫的過程。你有任何機會的鏈接。感謝您的回答。 – Cthutu

+0

你能夠更具體嗎?我似乎無法找到任何處理從管道或內存加載的代碼。謝謝。 – Cthutu

回答

3

當讀取MP4文件時,AVFoundation將使用查找,這就是您顯然無法使用管道的原因。恐怕您唯一的選擇是將文件放入磁盤或使用小型HTTP服務器,並利用HTTP Live Streaming。

1

我爲此使用了mongoose。它是一個小巧,易於使用的HTTP服務器,基本上只能放在一個文件中。