我正在尝试使用HLS流式传输到AVPlayer实例 - 就像Apple StitchedStreamPlayer示例项目一样。
我很好地获得了当前的播放时间,但为了计算特定的帧或生成SMPTE时间码,我需要知道FPS(每秒帧数)
任何人都可以帮我弄清楚如何从AVPlayer或AVPlayerItem或类似的方法中检索它吗?
非常感谢!
答案 0 :(得分:2)
[[video_player.currentItem.tracks[0] assetTrack] nominalFrameRate];
答案 1 :(得分:0)
func getFPS(_ videoUrl : URL) -> Float {
let asset:AVAsset = AVAsset(url: videoUrl)
let tracks = asset.tracks(withMediaType: .video)
let fps = tracks.first?.nominalFrameRate
return fps ?? 0.0
}
`