1

使用在视频顶部AVMutableComposition添加 aCATextLayer时,有没有办法以比视频更高的分辨率渲染文本层?视频目前是 1024x576,我无法承受更多增加比特率或文件大小的负担,但是在这种渲染大小中添加文本层看起来不太好。因此,我可以增加渲染大小并放大视频,还是有其他方法可以使CATextLayer渲染更平滑?

这对输出比特率或文件大小的任何影响都是可以接受的。

4

1 回答 1

1

对于AVPlayer Preview设置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

应该光栅化

  • 当为 true 时,图层在其局部坐标空间中渲染为位图(“光栅化”),然后将位图合成到目标中(如果位图需要缩放,则应用图层的 minificationFilter 和 magnificationFilter 属性)。光栅化发生在应用图层的滤镜和阴影效果之后,但在不透明度调制之前。作为实现细节,渲染引擎可能会尝试从一帧到下一帧缓存和重用位图。(不管它是否对渲染输出没有影响。)

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

光栅化比例

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

于 2016-09-02T07:13:16.670 回答