2017-12-21 13 views
0

私はAVFoundationで作業しており、ユーザーのライブラリからビデオをインポートしています。AVAssetディメンション:トラックのnaturalSizeはエクスポートされたビデオのサイズではありません

私は実際のビデオの寸法が必要です。 iPhone 7でスクリーンレコーディングした後、ビデオサイズは(750.0、1334.0)になるはずです。 AVAssetトラックのnaturalSizeを使用する場合、私はいつも(720.0、1280.0)を取得しています。

どうすればのビデオをビデオのサイズにすることができますか?ビデオがiOSデバイスを使用して記録

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

答えて

3

はあなたがSettings > Camera > Record Videoに設定された設定に従って、デバイスの画面解像度を無視して大きさになります

はここで私が使用しているコードです。

+0

ありがとうございました!しかし、AirDrop経由でスクリーンレコーディングをMacに共有すると、ビデオの次元は(750.0、1334.0)になることをどう説明しますか? –

+0

これは、iOSがAirDropによって送信されるビデオをエクスポートする方法です。ファイルの拡張子が「.mov」から「.mp4」に変わったとしてもです。あなたは 'CGAffineTransform'を使ってそれを変更することができ、Applesは[ここ](https://developer.apple.com/documentation/avfoundation/avassettrack/1389837-preferredtransform)と言っているように、'このプロパティの値は、アイデンティティ。 –

関連する問題