iOS8 CloudKit可以支持流媒体播放吗?

时间:2014-10-21 21:36:51

标签: ios azure cloudkit

有没有办法,使用Cocoa(touch)上当前可用的SDK框架来创建一个流媒体解决方案,我将在某些服务器上托管我的mp4内容并将其流式传输到我的iOS客户端应用程序?

我知道如何编写这样的客户端,但在服务器端有点令人困惑。

AFAIK cloudKit不适合该任务,因为它在幕后保留了同步的数据存储本地副本,这不是我想要的。我想远程存储媒体内容并将其流式传输到客户端,这样就不会占用16 GB iPad上的宝贵空间。

我可以使用Objective-C / Cocoa Touch完成该服务器解决方案吗?

我应该采用Azure和C#吗?

3 个答案:

答案 0 :(得分:1)

它不是100%清楚为什么你会做那样的事情?

如果您可以控制服务器端,为什么不设置基本的HTTP服务器,在客户端使用AVPlayer获取mp4并将其播放回用户?这很简单。基本的apache设置可以完成这项工作。

如果是您要传输的实时媒体内容,那么也值得阅读本指南: https://developer.apple.com/Library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/StreamingMediaGuide.pdf

在您的评论后编辑:

如果您想将AVPlayer用作播放器,那么我认为这两件事情并不合适。 AVPlayer需要提前缓冲不同的范围(对于某些容器格式,第二个/第三个请求正在读取流的末尾)。据我所知, CKFetchRecordsOperation (您将用于从服务器获取内容)无法在流中搜索。

如果您的私人播放器不需要搜索,那么您可以使用CKFetchRecordsOperation的 perRecordProgressBlock 为播放器提供数据。

答案 1 :(得分:0)

是的,你可以用CloudKit做到这一点。首先,CloudKit保留数据的本地副本是不正确的。由您对下载的数据执行的操作取决于您。 CloudKit中甚至没有任何缓存。

要执行您想要执行的操作,假设内容在用户之间共享,您可以将其上传到应用的公共数据库中的CloudKit。我认为您可以使用CloudKit Web界面执行此操作,但您可以创建一个简单的Mac应用程序来管理上传。

然后客户端应用程序可以下载文件。据我所知,它无法流动它们。它必须下载所有文件。

如果你想要一个流媒体解决方案,你可能需要弄清楚如何将文件拆分成小块,并在客户端应用程序上重新组合它们。

答案 2 :(得分:0)

我不确定这个document是否是最新的,但有段落"对应用的要求"如果您提供超过10分钟的任何视频,则需要使用HTTP直播。或5MB。