Как добавить неподвижное изображение в AVComposition? - PullRequest
11 голосов
/ 24 ноября 2010

У меня есть AVMutableComposition с видео дорожкой, и я хотел бы добавить неподвижное изображение в видео дорожку, которая будет отображаться какое-то время. Неподвижное изображение - это просто PNG. Я могу загрузить изображение в качестве актива, но это все, потому что результирующий актив не имеет дорожек и поэтому не может быть просто вставлен с использованием методов insertTimeRange….

Есть ли способ добавить неподвижные изображения в композицию? Похоже, что ответ где-то в Core Animation, но все это, кажется, немного над моей головой, и я был бы признателен за пример кода или некоторые информационные указатели.

Ответы [ 2 ]

12 голосов
/ 25 ноября 2010

OK. Есть отличное видео под названием Редактирование медиафайлов с помощью AV Foundation из WWDC , которое многое объясняет. Вы не можете вставлять изображения прямо на временную шкалу AVComposition, по крайней мере я не нашел способа сделать это. Но при экспорте или воспроизведении актива вы можете ссылаться на AVVideoComposition. Возможно, это не идеальное название для класса, поскольку оно позволяет вам микшировать различные видеодорожки в активе, очень похоже на AVAudioMix для аудио. И у AVVideoComposition есть свойство animationTool, которое позволяет вам добавлять слои Core Animation (CALayer) в микс. CALayer имеет свойство contents, которому можно присвоить CGImageRef. Не помогает в моем случае, может помочь кому-то еще.

0 голосов
/ 04 января 2016

Мне также нужны неподвижные изображения в моей композиции. Мое мышление немного отличается. Вставляйте на ходу фильмы черного цвета вместо того, когда должны появляться изображения (возможно, одного такого видео будет достаточно). Добавьте словарную ссылку на каждую такую ​​вставку, привязав временные диапазоны композиции к нужным изображениям. Когда в моем постоянном настраиваемом композиторе появится правильный диапазон времени, вытащите желаемое изображение и закрасьте его в буфер выходных пикселей, игнорируя входящие черные кадры из композиции. Я думаю, что это был бы другой способ сделать это.

...