我正在将一个mp4视频加载到AVPlayerLayer中,并将其放置在速度设置为0的超级层中(请参阅下面的原因) . 视频播放严重不良 . 每秒一次,玩家输出3-4帧 .

视频大致跟随墙壁时间,因此我认为它的主时钟是好的 .

我分析了它,主线程是空闲的,除了每秒一次 . 此外,每秒一次,即使我预加载了轨道(奇怪),也会从磁盘读取一些字节 .

一时兴起,我尝试通过在AVPlayer上调用seekToTime在10ms定时器上手动推进电影 . 我确认定时器每10ms调用一次,但AVPlayerLayer每秒只更新一次 .

有没有办法让AVPlayer更及时地输出帧?我应该放弃AVPlayer而选择Core Video并手动输出帧吗?


背衬层速度设置为0的原因是除了AVPlayerLayer之外我还设置了几个其他视图,并将路径CoreAnimations应用于它们 . UIPanGestureRecognizer驱动支持层的时间,从而产生用户驱动的动画 .

请注意,即使不平移,播放也会断断续续 .