2011-12-07 23 views
3

我有一個iPad應用程序,它可以記錄視頻並使用AVFoundation將其發送到我的SaaS應用程序。然後我的Web應用程序讀取文件,並使用JWPlayer播放它。AVFoundation錄製視頻的網絡播放 - 必須在播放開始之前下載整個文件

我遇到的問題是JWPlayer(或任何我嘗試過的播放器)在播放之前必須下載整個視頻文件。在做了一些閱讀後,我發現從IOS錄製的視頻沒有啓用「從互聯網快速啓動」。或類似的規定。

我正在使用AVFoundation。有沒有不同的方式來保存視頻,所以它會立即從我的網絡服務器流?我錯過了什麼。

回答

5

AVWriter上的shouldOptimizeForNetworkUse屬性允許您這樣做。

你可以用它在上傳到你的服務器之前重寫捕獲的電影文件(或者立即捕獲後,無論我想要什麼)。

編輯:

好吧,我不是在Mac上的那一刻,但東西沿着這些線路:

AVAsset *originalFile = [AVAsset assetWithURL:originalFileURL]; 

NSURL *outputFileURL = wherever you want to put it; 

NSError *readerError; 

NSError *writerError; 

AVAssetReader *reader = [AVAssetReader assetReaderWithAsset:originalFile error:&readerError]; 

AVAssetWriter *writer = [AVAssetWriter assetWriterWithURL:outputFileURL fileType:AVFileTypeQuickTimeMovie error:&writerError]; 

writer.shouldOptimizeForNetworkUse = YES; 

[writer startWriting]; 

... 

等。

+0

你有任何示例代碼?要打開捕獲的文件,並用這些設置重新保存它?我真的很感激。 –

+0

你搖滾。非常感謝。 –

相關問題