0

我正在尝试使用用 zencoder 编码的 AVPlayer 在 iOS 上播放视频。我看到的问题是播放器项目报告的持续时间是四舍五入/不精确的。例如,视频时长可能是 173.134,播放器项目会将其报告为平面 174.0。这会导致检测加载百分比和其他相关内容出现问题。如果我尝试在不编码的情况下使用视频,则会正确准确地报告所有内容。

有没有其他人见过这个或有解决方案?

4

2 回答 2

1

问题原来是源视频/zencoder 的问题。音轨的长度与视频的长度略有不同,这会导致编码出现问题。切断视频的最后一秒,以便轨道持续时间匹配解决了这个问题。

于 2013-05-22T15:10:30.927 回答
1

我有同样的问题。我只是比较当前位置和项目持续时间和 1 秒之间的差异:

- (void)playing:(CMTime)time
{
   CMTime itemDuration = _player.currentItem.asset.duration;
   NSTimeInterval currentTime = CMTimeGetSeconds(time);
   NSTimeInterval duration = CMTimeGetSeconds(itemDuration);
   if (fabs(currentTime - duration) < 1)
      // This is the end.
}
于 2013-05-21T11:35:45.277 回答