【发布时间】:2019-05-04 05:33:53
【问题描述】:
我有一个透明的视频(H.264,AAC),视频视图下方有一个 Imageview,它正在播放图像动画。我想在图像视图上播放透明视频。我尝试使用 Brad Larson 的 GPUImage Framework。我使用 ChromaKeyBlend 滤镜播放透明视频,但没有成功。
通过 SO 搜索,一无所获。
@IBOutlet weak var done: UIButton!
@IBOutlet weak var videoPlayerView: RenderView!
let path = Bundle.main.path(forResource: "template", ofType:"mp4")
var player = AVPlayer()
var playerController = AVPlayerViewController()
@IBOutlet weak var back: UIButton!
@IBOutlet weak var imagesPlayView: UIImageView!
@IBOutlet weak var templateImageView: UIImageView!
var filter : ChromaKeyBlend!
var movie:MovieInput!
override func viewDidLoad()
{
super.viewDidLoad()
self.imagesPlayView.animationImages = imageArray123
self.imagesPlayView.animationDuration = 30.0
self.imagesPlayView.animationRepeatCount = 1
self.imagesPlayView.contentMode = .scaleAspectFit
self.imagesPlayView.startAnimating()
videoPlayerView.backgroundColor = UIColor.clear
let videoURL = NSURL.fileURL(withPath: path!)
do
{
movie = try MovieInput(url:videoURL, playAtActualSpeed:true)
filter = ChromaKeyBlend()
movie --> filter --> videoPlayerView
movie.runBenchmark = true
movie.start()
} catch
{
print("Couldn't process movie with error: \(error)")
}
}
应用程序崩溃。崩溃日志是:
链接日志:错误:顶点着色器未写入片段着色器“textureCoordinate2”的输入
Shader deallocated --> ShaderProgram.swift: deinit: 62 错误:/Users/macmini/Downloads/GPUImage2-master/framework/Source/Operations/ChromaKeyBlend.swift
编译失败并出现错误:ShaderCompileError(compileLog: "Link error") 警告:无法在进程中执行支持代码来读取 Objective-C 类数据。 这可能会降低可用类型信息的质量。 (lldb)
请帮忙!
【问题讨论】:
标签: ios swift video transparent gpuimage