Sto lavorando a un progetto iOS che utilizza AV-Out per mostrare contenuti in una finestra 1280x720 su un secondo schermo.GPUImmagine video con trasparenza su UIView
Ho una vista di MPMoviePlayerController
come sfondo e sopra altri diversi elementi come UIImages
e UILabels
. Il film di sottofondo viene riprodotto in loop.
Ora voglio sovrapporre l'intera vista includendo tutti gli elementi visibili con un'altra animazione a schermo intero che ha trasparenza in modo che siano visibili solo parti della vista sottostante.
Ho provato per la prima volta un'animazione PNG con UIImageView
. Sono stato sorpreso di scoprire che funziona effettivamente su iPhone5, ma ovviamente le dimensioni dei png sono così grandi che questo utilizza troppa RAM e si blocca su tutto sotto iPhone4s. Quindi ho bisogno di un altro modo.
Ho scoperto come riprodurre un secondo film contemporaneamente utilizzando AVFoundation. Finora, tutto bene. Ora posso riprodurre il video overlay, ma ovviamente non è ancora trasparente.
Ho anche appreso che con la libreria GPUImage
posso usare GPUImageChromaKeyBlendFilter
per filtrare un colore da un video per renderlo trasparente e quindi combinarlo con un altro video.
Quello che non capisco ancora è il modo migliore per implementarlo nel mio caso per ottenere il risultato che voglio.
Posso utilizzare l'intera gerarchia di viste sotto il video in alto come primo input per lo GPUImageChromaKeyBlendFilter
e un video in stile greenscreen come secondo input e mostrare il risultato live in 720p? Come potrei farlo?
O sarebbe meglio usare GPUImageChromaKeyFilter
e solo filtrare il video in stile greenscreen e riprodurlo in una vista sopra tutte le altre viste? Lo sfondo di questo video sarebbe trasparente allora?
Grazie per il vostro aiuto!