Ios AVAsset尺寸:轨道';s naturalSize不是导出视频的大小

Ios AVAsset尺寸:轨道';s naturalSize不是导出视频的大小,ios,swift,video,avfoundation,avasset,Ios,Swift,Video,Avfoundation,Avasset,我正在与AVFoundation合作,从用户库导入视频 我需要真实视频的尺寸。在我的iPhone 7上进行屏幕录制后,视频大小应为(750.01334.0)。 当使用AVAsset track的naturalSize时,我总是得到(720.01280.0) 如何获得真实的视频维度 以下是我使用的代码: guard let track = tracks(withMediaType: AVMediaType.video).first else { return .zero } return trac

我正在与AVFoundation合作,从用户库导入视频

我需要真实视频的尺寸。在我的iPhone 7上进行屏幕录制后,视频大小应为(750.01334.0)。 当使用AVAsset track的naturalSize时,我总是得到(720.01280.0)

如何获得真实的视频维度

以下是我使用的代码:

guard let track = tracks(withMediaType: AVMediaType.video).first else { return .zero }
return track.naturalSize.applying(track.preferredTransform)

使用iOS设备录制的视频大小将根据您在
settings>Camera>Record video
上设置并忽略设备的屏幕分辨率进行调整。

使用iOS设备录制的视频大小将根据您在
settings>Camera>Record video
上设置并忽略设备的屏幕决议。

谢谢布鲁诺!但是,您如何解释,如果我通过AirDrop将屏幕录制共享到Mac,视频维度是(750.01334.0)?这就是iOS导出视频以通过AirDrop发送的方式,即使文件扩展名从
.mov
更改为
.mp4
。您可以使用
CGAffineTransform
更改它,正如Apple所说,
此属性的值通常是标识,但并不总是标识。
谢谢Bruno!但是,您如何解释,如果我通过AirDrop将屏幕录制共享到Mac,视频维度是(750.01334.0)?这就是iOS导出视频以通过AirDrop发送的方式,即使文件扩展名从
.mov
更改为
.mp4
。您可以使用
CGAffineTransform
更改它,正如Apple所说,
此属性的值通常是标识,但并不总是标识。