使用嵌入式HTTP代理缓存流视频?

时间:2013-12-03 18:55:40

标签: ios iphone avfoundation mpmovieplayercontroller avplayer

有些人尝试使用AVPlayerMPMoviePlayerController缓存预加载的视频数据,例如

最简单的方法似乎是在玩家的AVExportSession上使用currentItem,但似乎没有人能够让它发挥作用。

我的问题是:是否可以通过基于磁盘的缓存支持的嵌入式HTTP服务器透明地代理设备上的视频请求?

我可以运行嵌入式Web服务器(GCDWebServer),所以我的问题是

  1. 缓存会搞砸AVPlayer的带宽优化代码,试图选择带宽最高的流吗?如果这是一个问题,我可以控制流,因此它只提供一个选项。

  2. 磁盘性能是否足以提供对网络的改进?它看起来很明显,但我已经在网上看到各种各样的文章,谈论iOS上的磁盘I / O速度有多慢。

  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

对于HTTP直播:

如果嵌入式Web服务器要托管组成HTTP实时流源的媒体段文件,则需要将文件下载到设备,除非您重新配置Web服务器以充当代理。

在任何一种情况下,似乎更简单的方法是下载并解析索引文件(通常是prog_index.m3u8)以获取媒体段文件的列表,然后只是启动每个文件的下载。