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

标签 ios iphone avfoundation mpmovieplayercontroller avplayer

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

最直接的方法似乎是在播放器的 currentItem 上使用 AVExportSession,但似乎没有人能够让它工作。

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

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

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

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

谢谢!

最佳答案

对于 HTTP 直播:

如果嵌入式网络服务器要托管构成 HTTP 实时流提要的媒体片段文件,则这些文件需要已经下载到设备,除非您重新配置网络服务器以充当代理。

无论哪种情况,似乎更简单的方法是下载并解析索引文件(通常是 prog_index.m3u8)以获取媒体段文件列表,然后开始下载每个文件。

关于ios - 使用嵌入式 HTTP 代理缓存流视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20359343/

相关文章:

ios - 使用 snapkit 创建两个 uiview 的约束

objective-c - 将 NSNumber 值与定义的 int 进行比较

iPhone Retina 显示屏与 Apple App Store 上传

ios - 从子 UIVIewController 控制 UIScrollView

ios - 录像没有声音?

ios - 音视频合并后的视频方向

ios - 如何测试我的设备是 iphone 4 还是 iphone 5

iphone - Order by Random() 条款在 iphone NSPredicate

ios - 在 GPUImage 中应用视频过滤器时播放音频

ios - 在 OpenGL ES 中复制 UIView drawRect