翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リソース使用率を調整する
VideoFxProcessor
を作成する際に、オプションの processingBudgetPerFrame
パラメータを指定し、フィルタで使用する CPU と GPU の量を制御できます。
let videoFxProcessor: VideoFxProcessor | undefined = undefined; const processingBudgetPerFrame =
50
; try { videoFxProcessor = await VideoFxProcessor.create(logger, videoFxConfig, processingBudgetPerFrame); } catch (error) { logger.warn(error.toString()); }
VideoFxProcessor
ではフレームの処理に時間がかかります。所要時間は、デバイス、ブラウザ、およびブラウザやデバイスで他に実行されている処理によって異なります。プロセッサではバジェットの概念を利用して、各フレームの処理とレンダリングに使用する時間の目安を定めます。
処理時間はミリ秒単位です。バジェットの使い方の一例として、1 秒は 1000 ミリ秒です。15 フレーム/秒の動画キャプチャを目安に設定すると、合計のバジェットは 1000ms/15fps = 66 ミリ秒になります。上の例で示されているように、processingBudgetPerFrame
パラメータに値 50
を指定することで、その 50% (33 ミリ秒) のバジェットを設定できます。
次に、VideoFxProcessor
では指定されたバジェット内でフレームの処理を試みます。処理がバジェットを超えて実行されると、プロセッサではバジェット内に収まるように画質を下げます。プロセッサで画質を最低限まで下げ続けると、その時点で画質の低下は停止されます。この処理時間は継続的に測定されるため、(別のアプリケーションが終了して CPU が解放されるなどして) 利用可能なリソースが増えると、プロセッサではバジェットに達するまで、または画質が最大限になるまで、再び画質を上げます。
processingBudgetPerFrame
に対して値を指定しない場合、VideoFxProcessor
はデフォルトの 50
になります。