2017-12-21 5 views
0

Ich arbeite mit AVFoundation, Importieren von Videos aus der Bibliothek des Benutzers.AVAsset Abmessungen: Track ist natürlich Größe ist nicht die Größe aus dem exportierten Video

Ich brauche die Abmessungen des realen Videos. Nach einer Bildschirmaufnahme auf meinem iPhone 7 sollte die Videogröße (750.0, 1334.0) sein. Wenn ich die natürliche Größe von AVAsset track verwende, bekomme ich immer (720.0, 1280.0).

Wie kann ich die echte Videodimension bekommen?

Hier ist der Code, den ich mit:

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

Antwort

3

Das Video ein iOS-Gerät bespielt wurden, können Sie die Einstellungen so bemessen sein, nach Sie auf Settings > Camera > Record Video eingestellt und Bildschirmauflösung des zu ignorieren Gerät.

+0

Danke Bruno! Aber, wie erklären Sie, dass, wenn ich diese Bildschirmaufnahme über AirDrop auf meinem Mac teile, die Videodimension (750.0, 1334.0) ist? –

+0

So exportiert iOS ein Video, das von AirDrop gesendet werden soll, selbst die Erweiterung der Datei wechselt von ".mov" zu ".mp4". Sie können es mit 'CGAffineTransform' ändern und wie Apples sagt [hier] (https://developer.apple.com/documentation/avfoundation/avassettrack/1389837-preferredtransform),' Der Wert dieser Eigenschaft ist oft, aber nicht immer, Identität –