2017-12-21 4 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

감사합니다. Bruno! 그러나, AirDrop을 통해 내 Mac에 스크린 레코딩을 공유하면 비디오 크기가 (750.0, 1334.0)이라는 것을 어떻게 설명합니까? –

+0

이것은 iOS가 AirDrop에서 전송할 비디오를 내보내는 방법입니다. 파일 확장자가 '.mov'에서 '.mp4'로 변경된 경우에도 마찬가지입니다. 당신은'CGAffineTransform'을 사용하여 그것을 변경할 수 있고 사과가 [here] (https://developer.apple.com/documentation/avfoundation/avassettrack/1389837-preferredtransform)라고 말하면서,'이 속성의 값은 종종 그렇지만, 신분 .' –

관련 문제