这与Looping a video with AVFoundation AVPlayer有些相关,但问题已得到解答。我想要实现的是使用AVPlayer 无缝循环。使用h264编码视频的循环之间存在明显的断断续续*由于某些原因导致iOS 5更新变得更糟。这是否与视频编码方式有关而不是AVPlayer?循环由playerItemDidReachEnd通知触发,如上面的链接所述。
感谢。
*这是我们用来编码视频的ffmpeg命令,如果有帮助的话:
ffmpeg -i -y -sameq -vcodec libx264 -vpre hq -crf 20 -an
(是的,文件没有声音(还),所以-an是故意的。)
答案 0 :(得分:0)
如何将参考帧数设置为1和/或b帧为0和/或配置文件为基线?
一个合理的解释:
默认情况下,h.264解码会解码所有类型的视频,它必须在视频开始时缓冲一些帧。因此,如果您正在循环(如果它正在重置解码器),则可能正在进行缓冲。您是否在不重置解码器的情况下进行循环?在读取文件时,解码器是否因为eos而重置?如果是,你可以通过避免超越最后一帧并触发eos条件来防止这种情况吗?
如果你有更好的控制(虽然不确定),你可以避免它的一种方法是在返回循环时不提供流标题(sps / pps)?