我正在开发一个 iOS 项目,该项目使用 AV-Out 在第二个屏幕上的 1280x720 窗口中显示内容。
我有一个MPMoviePlayerController
's 视图作为背景,并在不同的其他元素(如UIImages
和)之上UILabels
。背景电影循环播放。
现在我想用另一个具有透明度的全屏动画覆盖整个视图,包括所有可见元素,这样只有底层视图的一部分是可见的。
我首先尝试了一个 png 动画UIImageView
。我惊讶地发现它实际上可以在 iPhone5 上运行,但是当然 png 的大小太大了,以至于它使用了太多的内存,并且它在 iPhone4s 以下的所有东西上都会崩溃。所以我需要另一种方式。
我想出了如何使用 AVFoundation 同时播放第二部电影。到目前为止,一切都很好。现在我可以播放覆盖视频,但当然它还不是透明的。
我还了解到,通过该GPUImage
库,我可以使用它GPUImageChromaKeyBlendFilter
来过滤视频中的颜色以使其透明,然后将其与另一个视频结合起来。
我还不明白的是在我的情况下实现它以获得我想要的结果的最佳方法。
我可以使用顶部视频下方的整个视图层次结构作为第一个输入,GPUImageChromaKeyBlendFilter
并使用绿屏风格的视频作为第二个输入,并以 720p 实时显示结果吗?我该怎么做?
GPUImageChromaKeyFilter
还是使用并过滤绿屏风格的视频,并在所有其他视图之上的视图中播放它会更好吗?那么这个视频的背景会是透明的吗?
谢谢你的帮助!