У меня есть прозрачное видео (H.264, AAC), есть изображение, которое находится ниже вида видео и воспроизводит анимацию изображений. Я хочу воспроизвести прозрачное видео поверх изображения. Я пытался использовать 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 освобожден -> ShaderProgram.swift: deinit: 62
ОШИБКА: /Users/macmini/Downloads/GPUImage2-master/framework/Source/Operations/ChromaKeyBlend.swift
Компиляция завершилась с ошибкой: ShaderCompileError (compileLog: «Ошибка связи»)
предупреждение: не удалось выполнить код поддержки для чтения данных класса Objective-C в процессе.
Это может снизить качество доступной информации о типе.
(лдб)
Пожалуйста, помогите!