Genvid SDK 1.19.4¶
Genvid Technologies SDK 1.19.4. へようこそ。今回は、バグ修正用リリースです。1.19.0、1.19.1、1.19.2、1.19.3 のリリース詳細については、以前のリリースノートを参照してください。
現在の機能¶
現在の機能の概要を紹介します。本リリースの新機能一覧は以下を参照してください。
- Windows C++ API、C# ラッパー
- D3D11 または raw フレームのビデオキャプチャ。
- WASAPI オーディオキャプチャ。
- ビデオエンコード (H264 + AAC)。
- YouTube への動画ストリーミング。
- 複数のインスタンスからの、複数の動画およびデータのストリーミング。
- 任意の追加ゲームイベントおよび通知のストリーミング。
- スケーラブル イベント メッセージ システム。
- 埋め込み型 Web ページ用 Javascript SDK。
- ビデオとゲームデータストリームの自動同期。
- オーディオ/ビデオおよびデータの複数のソース (ベータ版)。
- ライブ動画編集と基本コンポジション効果 (ベータ版)。
- RTMP Ingest サーバー (ベータ版)。
- Unity3D 統合 (ゲームと管理)。
- Unreal Engine 統合 (ゲームと管理)。
- サービス制御用 REST API (ベータ版)。
- ローカル、リモートクラスタの管理用ツール、スクリプト。AWS 用サンプルスクリプト。
- メトリクス フィード (ベータ版)。
- 負荷テスト用ライブラリ。
- 詳細な解説書。
- 複数の統合サンプル。
今後追加を予定しているもの¶
上記の内容に加えて、準備が整い次第公開できるように、新機能のパイプラインを開発中です。
- クラスタを共有するためのリモート管理サービス。
- 外部 API の SSL サポート。
- 管理 API の ACL サポート。
- ハードウェアエンコード。
- インスタント リプレイ。
- クラスタ設定の管理改善。
- UI の改善および機能追加 (プラグインを含む)。
- オフライン データストリームの記録と再生。
- オフライン配信セッション編集。
- SDK マネージャによる複数 SDK のインストール支援。
その他変更点や修正点¶
- [sdk] フレームでアノテーションが繰り返される問題を修正。
- [sdk] アノテーションがゲームデータとストリームを共有できない問題を修正。
- [sdk][services] 様々なパフォーマンスと安定性の改善
- [composed] composed が gvencode に再接続しようとしたときの問題を修正。
- [gvencode] ingest モードで使用中のオーディオとビデオの非同期を修正。
既知のバグ¶
出力バッファが大きくなり、ほとんど縮小されない¶
このバグは Twitch、YouTube でのみ発生し、ビデオストリームに非常に高い遅延が発生します。 この問題に対する確実な回避策は存在しませんが、v1.20 以降で修正されます。
ストリームがブロックされると Compose サービスが警告モードに切り替わる¶
このため、ゲームまたは Ingest サービスが Compose サービスに接続できなくなる可能性があります。 アクティブストリームをオンにせずにシステムを再起動することが、現時点での唯一の回避策です。
gvencode 「Output buffer size is too big」というエラーメッセージを吐くことがある¶
このバグは、スタンドアロンプレイヤーまたは Studio でネットワークが応答しない場合にのみ発生します。現在、回避策はありません。
SDK が接続されていない場合、最初のフレームは保持 / 再送信されない¶
単一のフレームが送信される際に、SDK が接続されていないと失われてしまいます。 回避するには、この問題が発生した場合に備えて、フレームを定期的に再送信します。 この問題は v1.20 以降で修正されます。
Ingest のストリーミングを再開すると、Ingest オーディオの遅延が増加する¶
OBS でストリーミングを停止して再開すると、オーディオとビデオが Studio で同期しなくなります。回避するには、先に Web カメラを起動し、残りのストリーミングセッション中に OBS ストリームを停止しないようにします。 この問題は v1.20 以降で修正されます。
Studio、Ingest の使用中にゲームを再起動すると、オーディオ / ビデオ / データが非同期になる¶
Studio、Ingest の使用中にゲームを再起動すると非同期になってしまう問題は、現在修正中です。
当面の間、この問題を回避するには、先に Web カメラを起動して Studio から source-0 を割り当てさせます。 Web カメラフィードが source-0 に割り当てられている限り、ゲームがクラッシュして再起動しても非同期問題は発生しません。 ゲームが再開したら、遅延スライダーを再調整する必要があります。 この問題は v1.20 以降で修正されます。
Twitch Extension Developer Rig が動作しない¶
Twitch Extension Developer Rig から、データ同期のためのビデオストリームやリアルプレイヤーが提供されないため、Web クライアントがデータを再生できません。
Studio のマルチユーザーモードには制限があります¶
マルチユーザーモードでは、現在 Studio のインターフェイスで 2 人のユーザーが同じ設定を同時に調整できてしまい、変更内容が失われてしまいます。
この問題を回避するために、今後のアップデートでロック機能を追加する予定です。 その間、2 人のユーザーが同時に設定を調整することに対する注意喚起を行うことを強くお勧めします。
プロキシを使用している場合に Compose ウィンドウが使用できない¶
ホストがクラスタのファイアウォールの内側にある場合 (Amazon EC2 マシンの場合など)、問題が発生し、Compose ウィンドウを開けなくなることがあります。
Bastion の将来のバージョンでは、異なるマシンからのアクセスを可能にするリモートサーバーが追加される予定です。現在、この問題を回避するには、クライアントマシンが Bastion のローカル IP にアクセスできるように、Bastion マシンへの VPN 接続を行ってください。
Windows がスリープ状態から復帰後、アプリケーションが正常に動作しない¶
Nomad は、それ自体も含み、スリープ中のジョブで問題が発生する場合があります。
この問題が将来の Nomad のバージョンで修正される可能性は低いですが、通常の運用環境への影響はありません。 この問題を回避する必要がある場合は、次のいずれかを行ってください。
- サービスの実行中に Windows がスリープモードに移行しないようにする
genvid-bastion reinstall
コマンドを使用してサービスを再起動する (Thegenvid-bastion restart
コマンドでは問題は解決しません)。
gvencode で再スタートした後、YouTube のストリームが正しくリセットされない¶
サービス停止後すぐに再スタートすると、YouTube のストリーミングサービスは、同一ストリーミングセッションであると判断します。ほとんどの場合、これで問題はありませんが、サービスと実際の視聴との間に長い遅延が発生するために、直前のセッションが表示されてしまう可能性があります。今後のバージョンでは、新しいストリームを適切にリクエストする方法を実装する予定ですが、それまでの間、YouTube ダッシュボードからストリームキーをリセットするか、サービスを再スタートする前にしばらく (5 分程度) 時間を空けるようにしてください。
オーディオがマイクの音声やループを無限にキャプチャする¶
WASAPI のオーディオ自動キャプチャモードを使用した時に、マシンのデフォルトのオーディオデバイスを通過する音声がすべてキャプチャされてしまいます。Web ブラウザだけでなく、システムアラート、マイク入力も含まれます。ゲームを実行しているのと同じローカルマシンを使用してゲームストリームをテスト視聴すると、ゲームは自分自身のオーディオストリームを~10秒の遅延でキャプチャします。これが次第に音質が劣化する (ストリーミングされる度に圧縮されるため) エコーを生み出します。
オーディオを無効にするには、次の 2 つの方法があります。
- 設定で
settings.encode.input.silent
をtrue
にする (デフォルト設定) 。 - raw オーディオキャプチャを使用する (Unity のデフォルト設定)。
Firefox でのスタンドアロンプレイヤー¶
スタンドアロンプレイヤーを適切に動作させるためには、読み込み可能なストリームを Firefox で有効にする必要があります。about:config
URL で、dom.streams.enabled
と javascript.options.streams
を true
に設定する必要があります。
オートカットのチェックボックス設定はローカルにのみ保存されます¶
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 バージョンでは発生しません。またこの問題は v1.20 以降で修正されます。
アノテーションが想定通り動作しない¶
バージョン 1.19.0 で発生したバグは、アノテーションの動作に想定外の問題を発生させています。次のような問題です。
- アノテーションが独自のストリーム ID を使用する必要がある。
- 各フレームの最後のアノテーションしか含まれない。
- Web サイドでは、
OnDraw
へのコールの度に最後のアノテーションが繰り返される。
このバグを解決するまで、アノテーションを使用するにはこれらの制限を考慮する必要があります。 この問題は v1.20 以降で修正されます。
iPhone で、Youtube プレーヤーとの非同期が発生する¶
観戦者が iPhone を使用している場合、ビデオ / データの非同期が発生する場合があります。現在問題を調査中です。iPad や Android 端末では、正しく同期しています。
Studio モニターがソース 0、1 のフィードを表示できない¶
Studio モニタービューでソース 0 と 1 のビデオソースを正しく表示できません。そのため、Studio モニターウィジェットの関連タブを一時的に無効にしています。この問題は v1.20 以降で修正されます。