LoginSignup
6
6

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-11-06

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

6
6
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
6
6