Genvid SDK 1.19.3

Genvid SDK 1.19.3 へようこそ。これはバグ修正リリースです。1.19.0、1.19.1、1.19.2 のリリース詳細については、以前のリリースノートを参照してください。

現在の機能

現在の機能の概要を紹介します。本リリースの新機能一覧は以下を参照してください。

  • Windows C++ API、C# ラッパー。
  • D3D11 または未処理フレームのビデオキャプチャ。
  • WASAPI オーディオキャプチャ。
  • ビデオエンコード (H264 + AAC)。
  • YouTube へのライブ動画配信。
  • 複数のインスタンスからの、複数の動画およびデータのストリーミング。
  • 任意の追加ゲームイベントおよび通知のライブ配信。
  • スケーラブル イベント メッセージ システム。
  • 埋め込み型 Web ページ用 Javascript SDK。
  • ビデオとゲームデータストリームの自動同期。
  • オーディオ/ビデオおよびデータの複数のソース (ベータ版)。
  • ライブ動画編集と基本コンポジション効果 (ベータ版)。
  • RTMP Ingest サーバー (ベータ版)。
  • Unity3D 統合 (ゲームと管理)。
  • Unreal Engine 統合 (ゲームと管理)。
  • サービス制御用 REST API (ベータ版)。
  • ローカル、リモートクラスタの管理用ツール、スクリプト。AWS 用サンプルスクリプト。
  • メトリクス フィード (ベータ版)。
  • 負荷テスト用ライブラリ。
  • 詳細な解説書。
  • 複数の統合サンプル。

今後追加を予定している機能

上記の内容に加えて、準備が整い次第公開できるように、新機能のパイプラインを開発中です。

  • クラスタを共有するためのリモート管理サービス。
  • 外部 API の SSL サポート。
  • 管理 API の ACL サポート。
  • ハードウェアエンコード。
  • インスタント リプレイ。
  • クラスタ設定の管理改善。
  • UI の改善および機能追加 (プラグインを含む)。
  • オフライン データストリームの記録と再生。
  • オフライン配信セッション編集。
  • SDK マネージャによる複数 SDK のインストール支援。

本バージョンの修正内容

  • [sdk] 60 fps でのオーディオ / ビデオの欠落を修正。
  • [sdk] 入力が欠落、遅延した場合の処理落ちを回避。
  • [sdk] アノテーションのストリーム ID の欠落を修正。
  • [studio] 1080p 60fps でのフレームの欠落を修正。
  • [streaming] Twitch で、動画が 5 分以内で停止する。
  • [audio] Twitch、Youtube、スタンドアロンでのライブ配信時に、オーディオに不具合が発生する。
  • [gvencode] ingest 使用時の非同期の問題を修正。
  • [terraform] 新しく作成された Linux サーバーサービスが適切に設定されない問題を修正するため、cloud init スクリプトを調整。
  • [cluster-api] Consul サーバーを変更した際に、Cluster API が自動的に再接続するようになります。

既知のバグ

Studio、Ingest の使用中にゲームを再起動すると、オーディオ / ビデオ / データが非同期になる

この問題について、近日中に恒久的な対策を実施予定ですが、以下の方法で非同期を回避することができます。先に Web カメラを起動して Studio から source-0 を割り当てさせます。Web カメラフィードが停止しておらず、source-0 に割り当てられている限り、ゲームがクラッシュして再起動しても非同期問題は発生しません (通常、ゲームの再起動後に、遅延スライダの調整が必要になります)。

Twitch Extension Developer Rig が動作しない

Twitch Extension Developer Rig から、データ同期のためのビデオストリームやリアルプレイヤーが提供されないため、Web クライアントがデータを再生できません。

Studio のマルチユーザーモードには制限があります

Studio のインターフェイスはマルチユーザーモードで使用できます。ただし、同じ Studio ウィジェットに同時に触れないことを強くお勧めします。弊社側では同時修正処理が不十分であるため、プロセスの変更内容が失われる可能性があります。将来的には、ロック機構を追加する予定です。

プロキシを使用している場合に Compose ウィンドウが使用できない

Bastion の将来のバージョンには、異なるマシンからのアクセスを許可するリモートサーバーが追加されます。現行バージョンではこの機能を限定的にサポートしており、Bastion ホストがクラスタファイアウォールに守られている場合に (Amazon EC2 マシンなど)、問題が発生することがあります。回避方法としては、マシンのローカル IP がクライアントマシンからアクセスできるように、Bastion マシンへの VPN 接続を行うことです。

Windows がスリープ状態から復帰後、アプリケーションが正常に動作しない

Nomad 自体の動作を含め、スリープ中のジョブで問題が発生する場合があります。Nomad 側で修正される可能性は低いものの、プロダクション環境では発生しません。最善の回避方法としては、サービス実行中は Windows がスリープ状態にならないようにするか、 genvid-bastion reinstall でサービスを開始しなおすことです (genvid-bastion restart だけでは不十分です)。

gvencode で再スタートした後、YouTube のストリームが正しくリセットされない

サービス停止後すぐに再スタートすると、YouTube のライブ配信サービスは、同一ライブ配信セッションであると判断します。ほとんどの場合、これで問題はありませんが、サービスと実際の視聴との間に長い遅延が発生するために、直前のセッションが表示されてしまう可能性があります。今後のバージョンでは、新しいストリームを適切にリクエストする方法を実装する予定ですが、それまでの間、YouTube ダッシュボードからストリームキーをリセットするか、サービスを再スタートする前にしばらく (5 分程度) 時間を空けるようにしてください。

オーディオがマイクの音声やループを無限にキャプチャする

WASAPI のオーディオ自動キャプチャモードを使用した時に、マシンのデフォルトのオーディオデバイスを通過する音がすべてキャプチャされてしまいます。Web ブラウザだけでなく、システムアラート、マイク入力も含まれます。ゲームを実行しているのと同じローカルマシンを使用してゲームストリームをテスト視聴すると、ゲームは自分自身のオーディオストリームを~10秒の遅延でキャプチャします。これが次第に音質が劣化する (ストリーミングされる度に圧縮されるため) エコーを生み出します。

オーディオを無効にするには、次の 2 つの方法があります。

  • 設定で settings.encode.input.silenttrue にする (デフォルト設定) 。
  • raw オーディオキャプチャを使用する (Unity のデフォルト設定)。

Firefox でのスタンドアロンプレイヤー

スタンドアロンプレイヤーを適切に動作させるためには、読み込み可能なストリームを Firefox で有効にする必要があります。about:config URL で、dom.streams.enabledjavascript.options.streamstrue に設定する必要があります。

オートカットのチェックボックス設定はローカルにのみ保存されます

Studio では、Scene Widget 内の自動カットチェックボックスの設定はローカルストレージにのみ保存されます。ブラウザのキャッシュがクリアされるとユーザーからの入力もクリアされます。また、Studio セッション終了時に自動カットが「オン」になっている場合は、Studio セッションを再び開始すると、デフォルトで「オフ」に戻ります。

Studio は、複数のウィンドウから同じコントロールの入力を受け取ることはできません

Studio が、複数のブラウザウィンドウで開かれており、異なるソースから 1 つのコントロールに入力を受信した場合、最後の値は最新のものに更新されるのではなく、異なる入力間でバウンスされます。たとえば、Audio Mixer Widget でユーザーが Master Gain のスライダを 20 db に変更し、別のユーザーが 0 db に変更した場合、スライダハンドルは 0 db に設定される代わりに 20 db と 0 db の間でバウンスします。この問題が解決されるまで、異なるウィンドウから 1 つのコントロールへ入力することはお勧めできません。

Unity 2018 チュートリアル - 解像度が異なる場合があります

Unity 2018 を使用する場合、起動時に解像度の問題が発生する場合があります。ストリームのウィンドウが最適な解像度でないために、ビデオストリームと UI との間でオフセットとなる場合があります。この問題に対する解決策について、現在調査を行っております。この問題は、2018 以前の Unity バージョンでは発生しません。

アノテーションが想定通り動作しない

バージョン 1.19.0 で発生したバグは、アノテーションの動作に想定外の問題を発生させています。次のような問題です。

  • アノテーションが独自のストリーム ID を使用する必要がある。
  • 各フレームの最後のアノテーションしか含まれない。
  • Web サイドでは、OnDraw へのコールの度に最後のアノテーションが繰り返される。

このバグを解決するまで、アノテーションを使用するにはこれらの制限を考慮する必要があります。

iPhone で、Youtube プレーヤーとの非同期が発生する

観戦者が iPhone を使用している場合、ビデオ / データの非同期が発生する場合があります。現在問題を調査中です。iPad や Android 端末では、正しく同期しています。

Studio モニターがソース 0、1 のフィードを表示できない

Studio モニタービューでソース 0 と 1 のビデオソースを正しく表示できません。そのため、Studio モニターウィジェットの関連タブを一時的に無効にしています。この問題は v1.20 以降で修正されます。