Подтвердить что ты не робот

Как объединить два видео с прозрачностью

Я успешно объединять видео-1 и видео-2 друг с другом, при этом прозрачность видео-2 с использованием рамки AVFoundation, но после слияния ниже видео (видео-1) не отображается только видео- 2, но когда я использую код ниже

AVMutableVideoCompositionLayerInstruction *SecondlayerInstruction =[AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:secondTrack];
[SecondlayerInstruction setOpacity:0.6 atTime:kCMTimeZero];

его непрозрачность на уровне видео-2. Но здесь актуальная проблема: есть некоторый контент поверх слоя видео-2, который не прозрачен, и здесь после применения непрозрачности поверх слоя видео-2 он также применяется к тому контенту, который не является прозрачный.
Я добавляю два изображения здесь, которые описывают оба сценария после заданной непрозрачности с помощью AVMutableVideoCompositionLayerInstruction

введите описание изображения здесь введите описание изображения здесь

  • как на изображении после слияния прозрачной области, черный, и когда я устанавливаю непрозрачность поверх второго слоя, видео-2 становится прозрачным, но контент также становится прозрачным.
  • но мой вопрос заключается в том, как играть прозрачное видео по другому видео после слияния. Я уже проверил видео-2, это прозрачно, так как он правильно воспроизводится на платформе Android.

Edited-1: Я также пытаюсь установить цвет фона на myVideoCompositionInstruction, который также не помог. ссылаясь на этот старый вопрос ссылка

Edited-2: В AVVideoComposition.h я нашел

Указывает цвет фона композиции. Твердые цвета BGRA поддерживаются только; шаблоны и другие цветные ссылки, которые не являются поддерживается будет проигнорировано. Если цвет фона не указан видео-композитор будет использовать по умолчанию backgroundColor непрозрачного черный. Если визуализированный буфер пикселей не имеет альфа, альфа значение backgroundColor будет проигнорировано.

Что это значит, я не получил его. Может кто-нибудь помочь?

4b9b3361

Ответ 1

Вместо непрозрачности вы можете установить альфа видео.

Объяснение: Alpha устанавливает значение непрозрачности для элемента и всех его дочерних элементов, а opacity устанавливает значение непрозрачности только для одного компонента.

введите ссылку здесь