ビデオストリームを構成してパフォーマンスを追求する

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

ビデオでのシーク操作の速度に影響する最大要因は、キーフレームの間隔です。 キーフレーム間のすべてのフレームは、それより前のフレームに基づいて再構築する必要があるため、広く使用されているキーフレームの方がシーク時間が長くなります。 たとえば、1秒あたり30フレームのビデオストリームのキーフレームの最大間隔が10秒である場合、キーフレーム間に300のフレームが存在する可能性があります。 最後の デルタフレームにシークする場合は、フレームを圧縮解除するために299フレームを再構築する必要があります。 各フレームの再構築に0.01 秒を要した場合、シークには約3秒かかります。 シークの効率を上げる場合は、キーフレームの間隔を短縮すると便利です。 ただし、キーフレームを設定しすぎた場合は、品質が失われる可能性があります。

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

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

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

ストリームの構成