【问题标题】:Edit video : Add real time text, layer, image,... to video编辑视频:将实时文本、图层、图像、...添加到视频
【发布时间】:2017-04-11 17:00:27
【问题描述】:

我在添加标签以在视频上显示当前时间时遇到问题,但我不知道从哪里开始。 我找到了一个苹果编辑视频的例子:https://developer.apple.com/library/content/samplecode/ReaderWriter/Introduction/Intro.html

我正在尝试在 AVAssetWriterInput 中添加 AVAssetWriterInputPixelBufferAdaptor,但是在调用函数时崩溃了:append (_ pixelBuffer: CVPixelBuffer, withPresentationTime presentationTime: CMTime) -> Bool

我想知道的是,我怎样才能画出与视频相似的时间 https://www.youtube.com/watch?v=9mmrBDA1baY

更新:

我对使用适配器附加 PixelBuffer 有点困惑,但这只是将帧连接回视频的问题。在 Apple 的实例中,所有事情都由“sampleBufferProcessor”中的 CMSampleBuffer 处理 接下来要做的就是处理CVPixelBuffer如何给当前时间添加图层或文字(实时自动变化) 这是我在观看 WWDC 2014 时发现的 帮助我朝着正确的方向前进

【问题讨论】:

  • 你找到直接在CVPixelBuffer/CMSampleBuffer上添加文本的方法了吗?

标签: video swift3 avfoundation avassetwriter


【解决方案1】:

如果您只想在视频上添加叠加层,可以使用AVVideoCompositionCoreAnimationTool。 在CATextLayer上添加文字变化动画并导出。

【讨论】:

  • 在录制视频时,我可以使用AVVideoCompositionCoreAnimationTool 在每一帧上动态添加文本吗?如果是的话,有什么例子吗?还是仅适用于已经可用的视频文件? (重新编辑/重新编码)
  • @user924 不,您不能,它仅用于后处理,对于实时捕获,您可以将每帧上的文本叠加层直接渲染到“CVPixelBufferRef”并通过“AVAssetWriter”写入该帧。跨度>
  • 是的,类似于我尝试做的方式,但实际上我没有找到直接添加的方法,因为当我编辑 CIImage(直接从 CVPixelBuffer 引用的数据)时,它会创建一个新的并将其转换回缓冲区需要很多 CPU 使用率:stackoverflow.com/questions/49066195/…
猜你喜欢
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多