我试图预加载playerItem列表的第一秒以防止开始时的延迟。 我使用preferredForwardBufferDuration进行预加载。
以下是预装设置的摘录:
//setup repload in advance
VURLAsset *asset = [AVURLAsset assetWithURL:m3u8URL];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
playerItem.preferredForwardBufferDuration = 1;
AVPlayer *player = [[AVPlayer alloc] init];
_playerLayer.player = player;
player.replaceCurrentItemWithPlayerItem(playerItem)
// as soon as playback begins, reset it to 0
_item.preferredForwardBufferDuration = 0;
我有两个问题:
答案 0 :(得分:1)
加速播放有几个要处理的变量。看一下这个会话https://developer.apple.com/videos/play/wwdc2016/503/它包含“加速HTTP直播流”这一节可能会有所帮助。
加载时间可能包含几个组件,例如主播放列表太长并且需要时间来加载和解析(在这种情况下建议在Web服务器上使用gzip设置http压缩)或在开始播放之前加密FairPlay流。如果您的视频流是视频,您还可以调整视频的初始质量。