2016-12-01 58 views
12

Udało mi się połączyć wideo-1 i wideo-2, jeden nad drugim z wideo-2 jest przezroczysty przy użyciu struktury AVFoundation, ale po scaleniu poniżej wideo (wideo-1) nie jest wyświetlany tylko video-2 jest widoczna, ale gdy używam poniżej kodjak scalić dwa wideo z przezroczystością

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

swój zestaw krycie na wideo-2 layer.But tu rzeczywisty problem, istnieją pewne treści wideo na 2 warstwy, która nie jest przejrzysta i tutaj po zastosowaniu krycie ponad warstwą wideo-2 ma również zastosowanie do tej treści, która nie jest przezroczysta.
dodaję dwa zdjęcie tutaj, które opisują zarówno scenariusz po zbiorze krycie przy użyciu AVMutableVideoCompositionLayerInstruction

enter image description here enter image description here

  • jak w obrazek po scaleniu przezroczysty obszar jest czarne, a kiedy ustawić krycie nad drugą warstwą całości VIDEO -2 staje się teraz przezroczysty, ale zawartość staje się przezroczysta.
  • ale moje pytanie brzmi, jak odtwarzać przezroczyste wideo na innym filmie po scaleniu. Już sprawdziłem, że wideo-2 jest przezroczyste, ponieważ działa poprawnie na platformie Android.

edited-1: Staram się też ustawić kolor tła na myVideoCompositionInstruction który również nie pomogło. biorąc odwołanie od tej starej pytanie link

edited-2: W AVVideoComposition.h znalazłem

Określa kolor tła kompozycji. Obsługiwane są tylko stałe kolory BGRA ; wzorce i inne wzorce kolorów, które nie są obsługiwane, będą ignorowane. Jeśli kolor tła nie zostanie określony , kompozytor użyje domyślnego backgroundColor of opaque black. Jeśli renderowany bufor pikseli nie ma wartości alpha, wartość alpha wartości backgroundColor zostanie zignorowana.

Co to znaczy, nie rozumiałem. Czy ktokolwiek może pomóc?

+0

Masz rozwiązanie tego problemu? Mam do czynienia z tym samym problemem. Chcę połączyć dwa filmy z przezroczystością drugiego. Ale nie działa. –

Odpowiedz

1

Zamiast krycia, można ustawić alfa wideo.

Objaśnienie: Alpha ustawia wartość przezroczystość elementu i wszystkich jej dzieci, a opacity ustawia wartość zmętnienia tylko dla pojedynczego składnika.

enter link description here

+0

lub alfa widoku –

+0

@ShravyaBoggarapu Nie dostałem cię. –