Видео IOS поверх слияния видео с обрезкой кругов

Я делаю приложение, которое выполняет базовую обработку видео. Мне удалось объединить видео (видео поверх видео). введите описание изображения здесь как я могу обрезать маленькое видео в левом верхнем углу в круг?


person user3703910    schedule 26.06.2017    source источник
comment
Возможный дубликат stackoverflow.com/questions/28258270/ Это может вам помочь.   -  person Aaqib Hussain    schedule 26.06.2017
comment
Я просмотрел это перед публикацией, оно не подтверждает AVMutableVideoCompositionLayerInstruction, которую я добавляю в AVMutableVideoCompositionInstruction.   -  person user3703910    schedule 26.06.2017


Ответы (1)


Если вы хотите экспортировать это видео, вам необходимо:

  1. Создайте CALayer, который будет родительским для ваших видеослоев.
  2. Добавьте два CALayer в качестве подслоев родительского слоя
  3. Создайте круг CAShapeLayer и замаскируйте нужный слой видео.
  4. Создайте AVMutableVideoComopsition и настройте его (frameDuration, renderSize, instructions, ... и т. д.)
  5. Создайте экземпляр AVVideoCompositionCoreAnimationTool с помощью метода init(postProcessingAsVideoLayers:in:)
  6. Назначьте его свойству animationTool AVMutableVideoComopsition.
  7. Экспортируйте его с помощью AVAssetExportSession (с установкой AVMutableVideoComopsition в свойство videoCompostion сеанса экспорта)

Это только для постобработки, а не для предварительного просмотра.

Для предварительного просмотра вы можете попробовать создать два AVPlayerLayer с маскированием одного из них, если это не сработает, вы можете создать собственный видеокомпозитор и визуализировать каждый кадр по своему желанию.

person Tiko    schedule 05.07.2017