Имам голям проблем с проверката на видео ориентацията. Има код за проверка дали видеофайлът е в портретен режим:
private func checkIfVideoIsPortrait(videoURL: NSURL) -> Bool {
let videoAsset = AVAsset.init(URL: videoURL)
let videoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo)[0]
let size = videoTrack.naturalSize
let txf = videoTrack.preferredTransform
let realSize = CGSizeApplyAffineTransform(size, txf)
print(videoTrack)
print(txf)
print(size)
print(realSize)
if (size.width == txf.tx && size.height == txf.ty) {
return false
} else if (txf.tx == 0 && txf.ty == 0) {
return false
} else if (txf.tx == 0 && txf.ty == size.width) {
return true
} else {
return true
}
}
Имам два видео файла: 1080x1920 и 360x640. Въпросът е, че кодът връща различни размери на файловете и не можах да разпозная каква е ориентацията на видеото.
Има регистрационни файлове:
‹ AVAssetTrack: 0x157dee9a0, trackID = 2, mediaType = vide >
CGAffineTransform(a: 1.0, b: 0.0, c: 0.0, d: 1.0, tx: 0.0, ty: 0.0)
(320.0, 568.0)
(320.0, 568.0)
‹ AVAssetTrack: 0x1593643c0, trackID = 2, mediaType = video >
CGAffineTransform(a: 0.0, b: 1.0, c: -1.0, d: 0.0, tx: 720.0, ty: 0.0)
(1280.0, 720.0)
(-720,0, 1280,0)
Как да проверя правилно размерите на видеото? Ще се радвам на помощ.