Je travaille sur un projet iOS qui utilise AV-Out pour afficher le contenu d'une fenêtre 1280x720 sur un deuxième écran.GPUImage Vidéo avec transparence sur UIView
J'ai une vue de MPMoviePlayerController
en arrière-plan et en plus de ces différents autres éléments comme UIImages
et UILabels
. Le film d'arrière-plan est lu en boucle.
Maintenant, je veux superposer l'ensemble de la vue, y compris tous les éléments visibles avec une autre animation en plein écran qui a la transparence de sorte que seules les parties de la vue sous-jacente sont visibles. J'ai d'abord essayé une animation png avec UIImageView
. J'ai été surpris de constater que cela fonctionne réellement sur iPhone5, mais bien sûr, les png sont si gros en taille que cela utilise beaucoup trop ram et il se bloque sur tout en dessous de iPhone4s. J'ai donc besoin d'un autre moyen.
J'ai compris comment lire un deuxième film en même temps en utilisant AVFoundation. Jusqu'ici, tout va bien. Maintenant, je peux jouer la vidéo de superposition, mais bien sûr, il n'est pas encore transparent.
J'ai également appris qu'avec la bibliothèque GPUImage
je peux utiliser GPUImageChromaKeyBlendFilter
pour filtrer une couleur d'une vidéo pour la rendre transparente, puis la combiner avec une autre vidéo. Ce que je ne comprends pas encore est la meilleure façon de l'implémenter dans mon cas pour obtenir le résultat que je veux. Puis-je utiliser toute la hiérarchie de vue sous la vidéo supérieure comme première entrée pour le GPUImageChromaKeyBlendFilter
et une vidéo de style vert comme seconde entrée et afficher le résultat en direct en 720p? comment ferais-je ça?
Ou serait-il préférable d'utiliser GPUImageChromaKeyFilter
et juste filtrer la vidéo de style vert, et le jouer dans une vue au-dessus de toutes les autres vues? L'arrière-plan de cette vidéo serait-il transparent alors?
Merci pour votre aide!