我有一个 iPad 应用程序可以录制视频并使用 AVFoundation 将其发送到我的 SaaS 应用程序。然后我的 Web 应用程序读取该文件,并使用 JWPlayer 播放它。
我遇到的问题是 JWPlayer(或我试过的任何播放器)必须先下载整个视频文件才能播放。看了一些资料后,我发现从 IOS 录制的视频没有启用“从互联网快速启动”。或者类似的东西。
我正在使用 AVFoundation。是否有不同的方法来保存视频,以便它可以立即从我的网络服务器流式传输?我错过了什么。
最佳答案
shouldOptimizeForNetworkUse
AVWriter
上的属性允许您执行此操作。
您可以使用它在上传到您的服务器之前重写捕获的电影文件(或者在捕获后立即重写,无论我认为适合什么)。
编辑:
好吧,我现在不在 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];
...
等等。
关于objective-c - AVFoundation 录制用于网络播放的视频——必须在播放开始前下载整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8419167/