从HTTP Live Streaming播放视频时访问AVPlayer的数据

Mar*_*ard 6 iphone objective-c ios avplayer

我正在使用AVPlayer播放HTTP直播视频.

有没有办法让播放器访问缓存的数据以在本地保存?

Til*_*ill 9

TLDR; 这并非不可能,但结果很可能不那么好.

请记住,HTTP视频流实际上由多个带宽流组成.其中每一个都被分成较小的MPEG传输流块.

为了播放这些流,AVPlayer通常选择一个可用的带宽流,开始预加载并很快播放.现在,AVPlayer开始提高标准并开始从更高带宽的流中下载块.AVPlayer将再次提高标准,直到达到最高可用带宽.一旦AVPlayer识别出在其队列中预加载某个可播放长度的问题,该过程将被反转.因此,在网络吞吐量降低的情况下,选择较低带宽流.没有指定确切的实现细节,但这大致是如何工作的.

现在假设您将在本地存储/缓存该数据.您可以获得各种带宽TS块的混合 - 而不是任何您可以开箱即用的东西.此外,由于文件系统访问在移动设备上相当昂贵,因此您将在此过程中增加额外负担.

总的来说,我认为这并非完全不可能,但根本不是微不足道的.我已经读过关于在这个问题上试验文件系统管道的人,但他们从来没有让它工作.