在AVMutableComposition

时间:2016-08-31 05:09:42

标签: ios video avfoundation avmutablecomposition catextlayer

使用AVMutableComposition在视频顶部添加CATextLayer时,有没有办法以比视频更高的分辨率渲染文字图层?该视频目前是1024x576,我不能提高比特率或文件大小,但在此渲染大小中添加文本图层看起来不太好。因此,我可以增加渲染大小并放大视频,还是有其他方法可以使CATextLayer渲染更流畅?

这可能会对输出比特率或文件大小产生任何影响。

1 个答案:

答案 0 :(得分:2)

AVPlayer预览设置 contentsScale

layerPrimaryTextTitle.contentsScale = UIScreen.mainScreen().scale
layerSecondaryTextTitle.contentsScale = UIScreen.mainScreen().scale
layerPlaceHolder.contentsScale = UIScreen.mainScreen().scale

导出时

layerPrimaryTextTitle.shouldRasterize = true
layerPrimaryTextTitle.contentsScale = 2.0
layerPrimaryTextTitle.rasterizationScale = 2.0

<强> shouldRasterize

  
      
  • 如果为true,则图层将在其本地呈现为位图   坐标空间(“栅格化”),然后将位图合成   目的地(使用minificationFilter和   magnificationFitter属性,如果是位图,则应用该层   需要缩放)。在图层的过滤器和之后发生光栅化   应用阴影效果,但在不透明度调制之前。如   渲染引擎可能尝试缓存的实现细节   并重用从一帧到下一帧的位图。 (是否确实如此   是否对渲染输出没有影响。)

  •   
  • 如果为false,则图层将直接合成到目标中   尽可能(但是,合成的某些功能   模型可能会强制光栅化,例如添加过滤器)。默认为   没有。动画。

  •   

<强> rasterizationScale

  

图层光栅化的比例(当时   shouldRasterize属性已设置为YES)相对于   坐标图层的空间。默认为一。动画。