Как мне добавить неподвижное изображение в AVComposition?
-
28-09-2019 - |
Вопрос
У меня есть AVMutableComposition
с видеодорожкой, и я хотел бы добавить неподвижное изображение в видеодорожку, которое будет отображаться в течение некоторого заданного времени.Неподвижное изображение - это просто формат PNG.Я могу загрузить изображение как ресурс, но на этом все, потому что результирующий ресурс не имеет никаких дорожек и, следовательно, не может быть просто вставлен с помощью insertTimeRange…
методы.
Есть ли способ добавить неподвижные изображения в композицию?Похоже, что ответ находится где-то в Core Animation, но все это, кажется, немного выше моей головы, и я был бы признателен за пример кода или некоторые информационные указатели.
Решение
OK. Там отличное видео называется Редактирование СМИ с AV Foundation от WWDC. это многое объясняет. Вы не можете вставлять изображения прямо на AVComposition
Сроки, по крайней мере, я не нашел никакого способа сделать это. Но при экспорте или воспроизведении актива вы можете обратиться к AVVideoComposition
. Отказ Это, возможно, не идеальное имя для класса, так как он позволяет смешивать между различными видеоугольниками в активе, очень похоже на AVAudioMix
делает для аудио. И то AVVideoComposition
имеет АН animationTool
Свойство, которое позволяет выбрасывать основные анимационные слои (CALayer
) в смесь. CALayer
имеет contents
свойство, которое можно назначить CGImageRef
. Отказ Не помогает в моем случае, может помочь кому-то еще.
Другие советы
Мне также нужны неподвижные изображения в моей композиции.Мой образ мыслей немного отличается.Вставляйте на лету фильмы черного цвета вместо того, когда должны появляться изображения (возможно, одного такого видео будет достаточно).Добавьте словарную ссылку к каждой такой вставке, связав временные интервалы композиции с действительно желаемыми изображениями.Когда в моем штатном пользовательском редакторе появится нужный временной диапазон, извлеките нужное изображение и закрасьте его в выходной пиксельный буфер, игнорируя входящие черные кадры из композиции.Я думаю, что это был бы другой способ сделать это.