2016-08-31 2 views
0

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

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

+0

低解像度で見た目が良いフォントを選択できますか? QuickTimeはテキストとスプライトをサポートするために使用されますが、 'AVFoundation'はこれらのものをあなたに利用可能にしません。字幕があなたには十分でない限り、あなたは運が悪いと思う。 –

答えて

1

が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と層の magnificationFilter特性を有する先の(合成されますスケーリングが必要)。ラスタライズは、レイヤのフィルタとシャドウエフェクトが適用された後で、不透明モジュレーションの前に発生します( )。 実装の詳細として、レンダリングエンジンは をキャッシュして、あるフレームから次のフレームへビットマップを再利用しようと試みることがあります。 (それがないかどう かは全くレンダリングされた出力には影響ありません。)

  • 偽層が先 可能な限り(ただし、合成 モデルの特定の特徴は、例えばラスタライズを強制することに直接合成された場合フィルタを追加する)。デフォルトは です。アニメーション可能。

rasterizationScale

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

関連する問題