同时流式传输和保存视频?

edo*_*lin 17 iphone mpmovieplayercontroller video-streaming

我正在编写一个应用程序,其中一部分允许用户流/播放视频.我想限制功能,以便他们只有在有WiFi连接时才能流式传输视频.然后我将保存视频,以便当他们只有3G(或更少)连接时,他们无法流式传输视频,只能重播手机上保存的视频.

理想情况下,我想让MPMoviePlayerController播放/播放电影,然后访问电影数据并保存.但是,MPMoviePlayerController api似乎不支持访问电影数据.

我想避免和下载然后播放场景.有任何想法吗?

Joh*_*son 11

我想到了两种解决方案.这两种解决方案都要求文件采用可以渐进式播放的格式,例如,您不需要整个文件就可以播放它(但这无论如何都是先决条件).

  1. 使用线程下载数据并将其附加到文件,并从另一个线程播放该文件.现在,这需要您可以在MPMoviePlayerController中处理EOF事件并暂停播放,直到缓存文件被追加到然后恢复到同一点.

到目前为止,我看到人们这样做是不行的,因为MPMoviePlayerController无法处理EOF事件.(尚未对我自己进行测试)[ 在MPMoviePlayerController成功预加载后将视频缓存到磁盘

  1. 从文件中跳过播放并设置本地HTTP服务器并从中传输(在localhost上).这也没有经过测试.这个想法是MPMoviePlayerController会更好地从HTTP流中处理丢失数据的事件,然后直接读取文件.下行可能是效率较低,但我认为这是CPU的小幅增长.我不知道网络接口是否会处理它,但我认为这不是问题.

我把这个答案留作维基,因为我没有可行的解决方案,但我也想要一个.

  • 还有人试过吗?你有成功吗? (2认同)