我有一个iPad应用程序,可以录制视频并使用AVFoundation将其发送到我的SaaS应用程序。然后我的Web应用程序读取文件,并使用JWPlayer播放它。
我遇到的问题是,JWPlayer(或我尝试过的任何播放器)必须在播放之前下载整个视频文件。在做了一些阅读后,我发现从IOS录制的视频没有启用“从互联网快速启动”。或者沿着这些方向发展。
我正在使用AVFoundation。有没有不同的方法来保存视频,以便它立即从我的网络服务器流?我错过了什么。
答案 0 :(得分: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];
...
等等。