Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top