ストリームと通知

Genvid ストリーム

Genvid は、最近のビデオコンテナの機能と同様のコンセプトを採用しています。各カメラへのオーディオと映像ストリームの提供に加え、データタイプにかかわらず、追加のゲームストリームを好きなだけ指定することができます。

ストリームは streamID と呼ばれる任意の UTF-8 の文字列で識別されます。各ストリームは、タイムスタンプが入ったデータ片の連続として構成されます。これにより、それが同一ストリーム内か他ストリーム内かに関わらず、すべてのデータ要素が時間によって紐づけられるようになります。

たとえば、ゲームストリームにプレイヤーの位置を送信すれば、HTML オーバーレイでビデオストリームのプレイヤーをハイライトすることができます。追加コードにより、ビデオストリームを直接クリックすることで、プレイヤーを選択することもできます。

データのレートはストリームごとに個別に設定できます。Genvid はすべてのデータにタイムコードの関連付けを行うため、すべてのストリームの適切なアクティブな値を取得することができます。

たとえば、オーディオシステムは通常、ミリ秒単位で更新されますが、映像は 30 Hz (33 ミリ秒ごと) で固定されています。同様に、ゲームストリームを個別のインターバルで更新することができます。従って、毎回、ゲームの開始時に一度だけプレイヤーリストを送信し、レンダリング時に同一レートでプレイヤーの位置情報を更新することができます。

Genvid Streams

図 43 Genvid ストリームの例

図 43 は、ゲームから生成可能なストリームの例を示します。以下の点に注意してください。

  • 音声および映像データは、ライブ配信サービスに送信します。
  • オーディオデータは、映像データより送信頻度が高くなります。
  • ゲーム開始時に、一度プレイヤーリストを送信します。
  • 毎フレーム、プレイヤーの位置情報と視点カメラマトリクス (3D オーバーレイ用) を送信します。
  • プレイヤーは死ぬことがあります。
  • カメラはマッチ中に切り替わる可能性があります。
  • ラストキル後に、ゲームは終了します。

アノテーションストリーム

アノテーションはストリームと似ていますが、状態を表すものはありません。特定時点のイベントを表します。アノテーションの例としては、プレイヤーの死亡やクリティカルヒットなどがあります。アノテーションはタイムコードに関連付けられており、いつまでも続くわけではありません。

タイムコードの特定地点から別の地点にジャンプした時に、Genvid システムは、その期間に存在するすべてのアノテーションを返します。これにより、システムによるアノテーションの見落としをなくします。

重要

1 ストリーム、1 フレームに 256 個のアノテーションの制限があります。この制限を超えてアノテーションを追加しようとすると、そのアノテーションは削除されます。仕様上、高いアノテーション頻度が必要な場合、ストリームのフレームレートを上げるか、アノテーションの送信率を下げてください。

通知

通知は、タイムコードに関連付けられない代わりに、ブラウザに迅速に送信されます。

たとえば、通知を使用して、ゲームが終了したことや、ゲームの結果をブラウザに送信することができます。