LoginSignup
0

More than 5 years have passed since last update.

動画を回転させて保存 Swift3.0 AVfoundation

Posted at

動画をアプリから端末に保存した時、こういう風に回転させた状態で保存したかったのですが、Swiftは言語がまだまだ新しい上に言語仕様の変更が一々早いのでインターネットによい情報が少なくて中々辛いものがあります。phpやffmpegを使えば簡単に実装できるのに...orz 小视频拍摄swift3.0さんマジありがとうございました、助かりました。

on.gif

実装

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

参照

小视频拍摄swift3.0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0