objective-c - AVFoundation 录制用于网络播放的视频——必须在播放开始前下载整个文件

标签 objective-c ios ipad video avfoundation

我有一个 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/

相关文章:

ios - iOS 7 是否支持 Applescript?

iphone - UIAlertView 的私有(private)方法崩溃

iOS:UITextField 键盘和输入 View 出现在错误的位置

iphone - 先做逻辑,后做外观,在 iOS 开发中是否运作良好?

objective-c - Fabric 和 Objective C 中多个目标上缺少 DYSM 错误

javascript - iOS stringByEvaluatingJavaScriptFromString 在简单代码中不起作用

ios - Game Center 沙盒排行榜不会显示本地分数以外的分数

objective-c - tableview,更改焦点 tvos 的字体颜色

iphone - 访问 NSMutableArray 成员变量时崩溃

ios - 如何使用 Swift 在 Alamofire 函数中返回 true/false?