Pracuję nad projektem iOS, który używa AV-Out do wyświetlania zawartości w oknie 1280x720 na drugim ekranie.GPU Obraz wideo z przezroczystością przez UIView
Mam widok MPMoviePlayerController
jako tło i nad innymi różnymi elementami, takimi jak UIImages
i UILabels
. Film tła odtwarzany jest w pętli.
Teraz chcę nałożyć cały widok, w tym wszystkie widoczne elementy, na inną animację pełnoekranową z przezroczystością, tak aby widoczne były tylko części podstawowego widoku.
Najpierw wypróbowałem animację png z UIImageView
. Zaskoczyło mnie, że faktycznie działa na iPhone5, ale oczywiście pngs są tak duże, że używa to zbyt wiele pamięci RAM i rozbija się na wszystko poniżej iPhone4s. Potrzebuję więc innej drogi.
Wymyśliłem, jak odtworzyć drugi film w tym samym czasie przy użyciu AVFoundation. Jak dotąd, tak dobrze. Teraz mogę odtworzyć wideo nakładki, ale oczywiście nie jest jeszcze trasparent.
Dowiedziałem się również, że z biblioteką GPUImage
mogę użyć GPUImageChromaKeyBlendFilter
, aby odfiltrować kolor z filmu, aby stał się przezroczysty, a następnie połączyć go z innym filmem.
Czego jeszcze nie rozumiem, to najlepszy sposób na wdrożenie go w moim przypadku, aby uzyskać pożądany rezultat.
Czy mogę użyć całej hierarchii widoku pod górnym wideo jako pierwszego wejścia dla GPUImageChromaKeyBlendFilter
i wideo w stylu greenscreen jako drugie wejście i pokazać wynik na żywo w 720p? jak mógłbym to zrobić?
A może lepiej będzie użyć numeru GPUImageChromaKeyFilter
i odfiltrować wideo w stylu greenscreen i odtworzyć je w widoku ponad wszystkie inne widoki? Czy tło tego filmu będzie wtedy przezroczyste?
Dzięki za pomoc!