我使用UIImagePickerController选择视频,然后使用ASIHTTPRequest将视频上传到Web服务器。但是,使用iPhone拍摄的视频在横向或纵向中颠倒倒置在Web服务器上。当这些上传的视频在iPhone上观看时,它们也会在垂直方向上缩放75%左右,以便它们看起来被压扁。
有没有办法确定使用UIImagePickerController选择的视频的视频方向(包括它是否被倒置)?
另外,有没有办法在上传之前更改视频的方向?
我也不想允许上传以纵向拍摄的视频。
由于
答案 0 :(得分:1)
在另一篇文章中找到答案。 AVAsset为您提供了两个属性,[avAsset naturalSize]和[avAsset preferredTransform],可用于确定视频方向。
以下是相关帖子:
How to detect (iPhone SDK) if a video file was recorded in portrait orientation, or landscape.
答案 1 :(得分:0)
您可以使用该功能学习视频肖像和assetOrientation:
static func orientationFromTransform(_ transform: CGAffineTransform) -> (orientation: UIImageOrientation, isPortrait: Bool) {
var assetOrientation = UIImageOrientation.up
var isPortrait = false
if transform.a == 0 && transform.b == 1.0 && transform.c == -1.0 && transform.d == 0 {
assetOrientation = .right
isPortrait = true
} else if transform.a == 0 && transform.b == -1.0 && transform.c == 1.0 && transform.d == 0 {
assetOrientation = .left
isPortrait = true
} else if transform.a == 1.0 && transform.b == 0 && transform.c == 0 && transform.d == 1.0 {
assetOrientation = .up
} else if transform.a == -1.0 && transform.b == 0 && transform.c == 0 && transform.d == -1.0 {
assetOrientation = .down
}
return (assetOrientation, isPortrait)
}
来源: https://www.raywenderlich.com/5135-how-to-play-record-and-merge-videos-in-ios-and-swift