AVPlayer 视频预览问题 iOS 14.0.1

AVPlayer video preview issue 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

我找到了这个问题的真正原因。似乎对于某些 non-standard 编码或 fps,AVPlayer 无法播放视频。我使用一些工具(即 QuickTimePayer)以正确的编码导出了相同的视频,现在可以播放该视频了。

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

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