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

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

ビデオのシーク操作の速度に影響を与える最大の要因は、キー フレームの間隔です。 キー フレーム間のすべてのフレームは、その前に来るフレームに基づいて再構築する必要があるため、間隔が広いキー フレームではシーク時間が長くなります。 たとえば、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 秒

 

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

ストリームの構成