iOS-使用自己的框架将视频组合到一个框架

时间:2018-06-27 14:53:26

标签: ios ffmpeg video-processing audio-processing

在iOS中制作照片/视频帧时遇到严重问题。

目标是基于特殊帧,从多个视频和多个图像中制作一个视频。 enter image description here

例如,在此帧上,结果视频将同时在背景图像和图像1,2上播放视频1,2,3。

每个视频将具有不同的大小和长度。我需要视频合成器。 主要功能还在于将视频音频合并为一个。

我搜索了多个框架,例如GPUImage框架和AVAssetWriter等。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我认为库MergeVideos提供了您提到的所有内容。在GitHub示例中,它进行了演示;

  

合并多个视频文件,多个图像文件和文本   过渡动画:

let videoData = VideoData()
videoData.isVideo = true
videoData.asset = AVAsset(url: urlVideo!)

let imageData = VideoData()
imageData.isVideo = false
imageData.image = UIImage(named: "sample-image")

let textData = TextData()
textData.text = "HELLO WORLD"
textData.fontSize = 50
textData.textColor = UIColor.green
textData.showTime = 3 // Second
textData.endTime = 5 // Second
textData.textFrame = CGRect(x: 0, y: 0, width: 400, height: 300)

KVVideoManager.shared.makeVideoFrom(data: [videoData, imageData], textData: [textData]) { (outputURL, error) in
     if let error = error {
           print("Error:\(error.localizedDescription)")
      }
      else {
           if let url = outputURL {
               print("Output video file:\(url)")
           }
     }      
}

尽管它没有被广泛使用,但看起来绝对值得一试!它是用Swift 4编写的,以支持一个新项目。