Я успешно объединять видео-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 будет проигнорировано.
Что это значит, я не получил его. Может кто-нибудь помочь?