動画をアプリから端末に保存した時、こういう風に回転させた状態で保存したかったのですが、Swiftは言語がまだまだ新しい上に言語仕様の変更が一々早いのでインターネットによい情報が少なくて中々辛いものがあります。phpやffmpegを使えば簡単に実装できるのに...orz 小视频拍摄swift3.0さんマジありがとうございました、助かりました。
実装
composition
の中でpreferredTransform
というメソッドを使えば動画を回転させることができました。
let videoCompositionTrack = comp.addMutableTrack(withMediaType: AVMediaTypeVideo, preferredTrackID: kCMPersistentTrackID_Invalid)
do {
try videoCompositionTrack.insertTimeRange(
CMTimeRangeMake(CMTimeMakeWithSeconds(Float64(videoStartPoint), 10), CMTimeMakeWithSeconds(Float64(videoEnddPoint), 10)),
of: videoAssetSourceTrack,
at: kCMTimeZero)
//これ
videoCompositionTrack.preferredTransform = CGAffineTransform(rotationAngle: CGFloat(M_PI_2))
ソース
動くソースをGitHubに上げておきます。
GitHub