Swift - How to get video dimension?
func initAspectRatioOfVideo(with fileURL: URL) -> Double { let resolution = resolutionForLocalVideo(url: fileURL) guard let width = resolution?.width, let height = resolution?.height else { return 0 } return Double(height / width)}private func resolutionForLocalVideo(url: URL) -> CGSize? { guard let track = AVURLAsset(url: url).tracks(withMediaType: AVMediaType.video).first else { return nil } let size = track.naturalSize.applying(track.preferredTransform) return CGSize(width: abs(size.width), height: abs(size.height))}
This is a more concise version of Vlad Pulichev's answer.
var aspectRatio: CGFloat! // use the function to assign your variablefunc getVideoResolution(url: String) -> CGFloat? { guard let track = AVURLAsset(url: URL(string: url)!).tracks(withMediaType: AVMediaType.video).first else { return nil } let size = track.naturalSize.applying(track.preferredTransform) return abs(size.height) / abs(size.width)}