1

を使用AVMutableCompositionしてビデオの上に を追加する場合CATextLayer、ビデオの解像度よりも高い解像度でテキスト レイヤーをレンダリングする方法はありますか? ビデオは現在 1024x576 であり、ビットレートやファイル サイズをそれ以上大きくする余裕はありませんが、このレンダリング サイズでテキスト レイヤーを追加すると見栄えがよくありません。したがって、レンダリング サイズを大きくしてビデオを拡大することはできますか、またはCATextLayerレンダリングをよりスムーズにする他の方法はありますか?

これが出力ビットレートまたはファイル サイズに与える影響は許容されます。

4

1 に答える 1

1

AVPlayer Previewセット内容についてスケール

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 プロパティと倍率フィルター プロパティが適用されます)。ラスタライズは、レイヤーのフィルターとシャドウ効果が適用された後、不透明度の調整前に行われます。実装の詳細として、レンダリング エンジンは、あるフレームから次のフレームへビットマップをキャッシュして再利用しようとする場合があります。(そうするかどうかは、レンダリングされた出力には影響しません。)

  • false の場合、レイヤは、可能な限りデスティネーションに直接合成されます (ただし、合成モデルの特定の機能は、フィルタの追加など、ラスタライズを強制する場合があります)。デフォルトは NO です。アニメート可能。

ラスタ化スケール

(shouldRasterize プロパティが YES に設定されている場合) レイヤーの座標空間に対するレイヤーのラスター化のスケール。デフォルトは 1 です。アニメート可能。

于 2016-09-02T07:13:16.670 に答える