AVFoundation:如何将不断变化的文本渲染为视频?

时间:2019-05-20 12:41:35

标签: ios swift iphone avfoundation core-animation

我想将文本(例如字幕或计时器)渲染成视频并将其导出。我确实通过在每个帧上分别添加给定的CATextLayerbeginTime来添加新的duration来使其工作,但是正如您可以想象的那样,对于那些超过两分钟。

所以我的问题是:什么是最好的/正确的方法,以使我的应用程序不会用完内存?

我将具有给定CATextLayerbeginTime的{​​{1}}添加到父层,然后通过duration将其渲染到视频中。

AVVideoCompositionCoreAnimationTool

// Current time Label let currentTimeLayer = ExportTextLayer() currentTimeLayer.fontSize = scaleForVideoSize(value: 36.0) currentTimeLayer.frame = CGRect(x: scaleForVideoSize(value: 60), y: size.height - scaleForVideoSize(value: 385), width: size.width, height: scaleForVideoSize(value: 50)) currentTimeLayer.string = "Current lap time: Some lap time" currentTimeLayer.beginTime = currentTime currentTimeLayer.duration = dataDuration overlayLayer.addSublayer(currentTimeLayer) 是一个简单的CATextLayer(),具有一些预配置的属性。

0 个答案:

没有答案