パフォーマンスをシークするためのビデオ ストリームの構成

一部の再生アプリケーションでは、個々のストリームで多くのシークが実行されます。 シークは、ストリームの設定によってパフォーマンスが大きく異なる領域です。 コンテンツを迅速なシーク用に最適化する必要があることがわかっている場合は、ストリーム構成を調整してパフォーマンスを向上させることができます。

ビデオで操作をシークする速度に影響する最大の要因は、キー フレームの間隔です。 キー フレーム間のすべてのフレームは、その前に来るフレームに基づいて再構築する必要があるため、広く間隔が空いているキー フレームのシーク時間が長くなります。 たとえば、30 フレーム/秒のビデオ ストリームの最大キー フレーム間隔が 10 秒の場合、キー フレーム間には 300 フレームが存在する可能性があります。 最後の デルタ フレームをシークする場合は、フレームを圧縮解除するために 299 フレームを再構築する必要があります。 各フレームの再構築に .01 秒かかった場合、シークには約 3 秒かかります。 シークの効率を上げる場合は、キー フレームの間隔を下げると役立ちます。 ただし、キー フレームを近くに設定しすぎると、品質が低下する可能性があります。

最大キー フレーム間隔を設定するには、 IWMVideoMediaProps::SetMaxKeyFrameSpacing を呼び出します。 ストリームのビット レートに基づいて推奨される値を次の表に示します。 これらの値は、パフォーマンスと品質を求めるのに十分なバランスを提供します。 SDK では、キー フレーム間の時間に制限は適用されません。 一般に、30 秒より長い時間は、コンテンツがネットワーク経由でストリーミングされたときと、コンテンツがローカルで再生される場合の両方のシーク時間に悪影響を及ぼす可能性があります。

ビット レート 推奨される最大キー フレーム間隔
22 Kbps から 300 Kbps 8 秒
300 Kbps から 600 Kbps 6 秒
600 Kbps から 2 Mbps 4 秒
2 Mbps 以上 3 秒

 

ビデオ ファイルのシーク時に最適なパフォーマンスを得る方法の詳細については、「 最適なビデオシークパフォーマンスの取得」を参照してください。

ストリームの構成