У меня есть AVAssets
с портретной и альбомной ориентацией. Когда я проигрываю их по одному с помощью AVPlayer
, они играют с правильной ориентацией. Таким образом, AVPlayer
считывает AVAssetTrack
preferredTransform
каждого видео и корректирует их соответствующим образом.
С другой стороны, когда я добавляю портретный объект к AVMutableComposition
, он отображается боком. Предположительно это связано с тем, что AVMutableCompositionTrack
просто имеет значение по умолчанию preferredTransform
из CGAffineTransformIdentity
.
Я хочу, чтобы мой AVMutableComposition
учитывал preferredTransform
активов, которые я добавляю к нему, чтобы все отображалось правильно.
Часть 2
Я знаю, что могу выполнить поворот видео, предоставив инструкции по композитингу (AVMutableVideoCompositionLayerInstructions
) для AVAssetExportSession
, например, как объяснено здесь. Но я пока не хочу экспортировать видео.
Является ли AVAssetExportSession
единственным классом, который принимает AVMutableVideoComposition
в качестве входных данных?
Часть 3
Я пытаюсь воспроизвести предварительный просмотр видео, которое собираюсь экспортировать, и единственной операцией компоновки является преобразование в портретную или альбомную ориентацию. Поэтому я думаю, что должен быть более легкий способ сделать это, не запуская AVAssetExportSession
каждый раз, когда пользователь меняет изменяемую композицию. Это правильно?
В стороне
Кстати, я не понимаю, почему AVMutableVideoComposition
сам по себе не является потомком AVAsset
, как AVMutableComposition
. Тогда вы можете просто воспроизвести композицию напрямую.