Help us understand the problem. What is going on with this article?

AVAssetとAVMutableComposition(AVFoundation)の記事まとめ

More than 1 year has passed since last update.

AVFoundationの基本

基本全て必読。これ全部読めば基本はわかる
AVFoundationを使ったiOSの動画編集 - Qiita
iosの動画再生周りの基礎を調べた - Qiita
UIViewの背景に動画を流す簡単な方法 - Qiita

以下、同じ筆者のシリーズ記事
AV Foundationを使った動画編集(Asset) - Qiita
->この記事はバージョンが古いので変換ツールにかけると良い。

AV Foundationを使った動画編集(Composition) - Qiita

AVFoundationを使った動画編集(簡単なフェード処理) - Qiita
->AVMutableCompositionとかのごっちゃになりそうなものの違いがわかりやすくまとまっている

AVFoundationを使った動画編集(2つの動画をフェードで重ねる) - Qiita

AVAssetとAVMutableCompositionの基本

<AVFoundation>動画編集の基本的なしくみを理解する - Qiita
AVMutableVideoCompositionLayerInstructionの使い方 - おじさんは生きている

回転がおかしい系

ios - ビデオがカメラロールから来たときのAVAssetExportSession回転エラー - 答えた
ios – videoCompositionの回転とメタデータの削除を無視したAVAssetExportSession - コードログ
ios - ポートレートモードでキャプチャされたAVMutableVideoComposition回転ビデオ - 答えた
AVFoundationで動画をリサイズ + 反転する - 木木木
ios – AVMutableVideoCompositionLayerInstructionを使用してビデオが回転していない - コードログ
->AVMutableVideoCompositionLayerInstructionのトラックのID(引数)にはAVAssetTrackではなくAVMutableCompositionTrackを指定しましょうという話(AVAssetTrackを指定しても実行できてしまうので要注意)

//これはダメ
let assetTrack: AVAssetTrack = tracks[0] as AVAssetTrack
var layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: assetTrack)
//これはOK
let trackVideo: AVMutableCompositionTrack = composition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID())
var layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: trackVideo)

//指定するトラックのIDを間違えると回転の検知とかがおかしくなる
//これダメ
rotater.setTransform(assetTrack.preferredTransform, atTime: insertTime)
//これならOK
layerInstruction.setTransform(assetTrack.preferredTransform, atTime: insertTime)

AVAssetExportSessionビデオが縦向きとして保存されない | 翻訳QAサービス | code adviser
AVAssetExportSessionビデオが縦向きとして保存されない | 翻訳QAサービス | code adviser
->上の記事と似たような話

iOSで動画の回転方向を調べる - Qiita
->prefferedTransformで検出した動画の向きに合わせて回転させるやり方

縦横比 ビデオ ファイルが縦向きまたは iOS の横向きで記録されたかどうかを検出する方法 - 初心者入門サンプル
MPMoviePlayerController, AVAssetImageGenerator.appliesPreferredTrackTransformプロパティとかで回転制御する方法もあるよという話(あんまわかってない)

使わないかも

AVAssetExportSessionにおけるカスタムトランジションを用いた動画合成 - Qiita

koutEngineerK
iOS Engineer. Youtuber(2020/11/20に登録者1000人超えなければ引退). Tiktoker.
http://www.youtube.com/channel/UCEZIDajfDXXZtosEn9u94Ug?sub_confirmation=1
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away