AVPlayer视频预览问题iOS 14.0.1

问题描述

我正在尝试使用AVPlayer和AVPlayerViewController播放本地和远程视频,但是我遇到了问题。播放器正在播放视频音频,但未显示预览。

在低于iOS 14.0.1的所有iOS版本上都可以正常工作。

请帮助我解决这个问题

这是示例代码

movieUrl = [NSURL fileURLWithPath:filePath];
AVPlayer *player = [AVPlayer playerWithURL:movieUrl];
theMoviPlayer = [[AVPlayerViewController alloc] init];
theMoviPlayer.player = player;
[self addSubview:theMoviPlayer.view];
theMoviPlayer.view.frame = self.bounds;
[theMoviPlayer.player play];

Look at this image for better understanding

解决方法

我已找到此问题的实际原因。似乎对于某些非标准编码或fps,AVPlayer无法播放视频。我已经使用某些工具(即QuickTimePayer)以正确的编码导出了同一视频,并且该视频现在可以播放了。

此问题仅在iOS 14.0.1上产生,可能是此更新中AVPlayer中的错误/功能。

结论: 如果您的视频没有播放,或者您只听到没有任何视频帧的音频,请务必检查视频编码。