使用AVMutableComposition
在视频顶部添加CATextLayer
时,有没有办法以比视频更高的分辨率渲染文字图层?该视频目前是1024x576,我不能提高比特率或文件大小,但在此渲染大小中添加文本图层看起来不太好。因此,我可以增加渲染大小并放大视频,还是有其他方法可以使CATextLayer
渲染更流畅?
这可能会对输出比特率或文件大小产生任何影响。
答案 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)相对于 坐标图层的空间。默认为一。动画。