编码视频进行循环?

时间:2011-10-19 18:51:55

标签: ios video encoding ffmpeg h.264

这与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是故意的。)

1 个答案:

答案 0 :(得分:0)

如何将参考帧数设置为1和/或b帧为0和/或配置文件为基线?

一个合理的解释:

默认情况下,h.264解码会解码所有类型的视频,它必须在视频开始时缓冲一些帧。因此,如果您正在循环(如果它正在重置解码器),则可能正在进行缓冲。您是否在不重置解码器的情况下进行循环?在读取文件时,解码器是否因为eos而重置?如果是,你可以通过避免超越最后一帧并触发eos条件来防止这种情况吗?

如果你有更好的控制(虽然不确定),你可以避免它的一种方法是在返回循环时不提供流标题(sps / pps)?