iOS确定视频中的帧数

iOS确定视频中的帧数,第1张

概述如果我在 Swift中有一个MPMoviePlayerController: MPMoviePlayerController mp = MPMoviePlayerController(contentURL: url) 有没有办法可以让视频中的帧数位于网址?如果没有,还有其他方法来确定帧数吗? 我不认为MPMoviePlayerController可以帮助你. 使用AVAssetReader并计算它 如果我在 Swift中有一个MPMovIEPlayerController:

MPMovIEPlayerController mp = MPMovIEPlayerController(contentURL: url)

有没有办法可以让视频中的帧数位于网址?如果没有,还有其他方法来确定帧数吗?

解决方法 我不认为MPMovIEPlayerController可以帮助你.

使用AVAssetReader并计算它返回给您的CMSampleBuffers的数量.您可以将其配置为甚至不解码帧,有效地解析文件,因此它应该快速且内存有效.

就像是

var asset = AVURLAsset(URL: url,options: nil)    var reader = AVAssetReader(asset: asset,error: nil)    var vIDeoTrack = asset.tracksWithMediaType(AVMediaTypeVIDeo)[0] as! AVAssetTrack    var readerOutput = AVAssetReaderTrackOutput(track: vIDeoTrack,outputSettings: nil) // NB: nil,should give you raw frames    reader.addOutput(readerOutput)    reader.startReading()    var nFrames = 0    while true {        var sampleBuffer = readerOutput.copyNextSampleBuffer()        if sampleBuffer == nil {            break        }        nFrames++    }    println("Num frames: \(nFrames)")

对不起,如果这不是惯用语,我不知道很快.

总结

以上是内存溢出为你收集整理的iOS确定视频中的帧数全部内容,希望文章能够帮你解决iOS确定视频中的帧数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存