Genvid SDK 1.15.0¶
Genvid Technologies SDK 1.15.0 へようこそ。このリリースによって、安定した状態での統合が可能となり、ローカルでの開発や、限定したクラウドでのデプロイにご使用いただくことができます。プロダクションを完全にデプロイするための一部機能はまだ実装されていませんが、他のソフトウェアによって提供可能です。プロダクションのデプロイを予定している場合は、support@genvidtech.com にお問い合わせください。
プロダクションの快適なデプロイを行うための機能がすべて備わるまで、定期的にリリースの更新を行っていきます。リリース間のアップグレードをスムーズに行うことができ、可能な限り後方互換サポートを行えるよう、常に努力しています。既知の問題や回避策については、 フォーラム でご参照ください。不明な点などございましたら、弊社までお問い合わせください。
現在の機能¶
現在の機能の概要を紹介します。本リリースの新機能一覧は以下を参照してください。
- 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 のインストール支援。
このバージョンの主な変更点¶
データパイプラインの転送帯域幅の削減¶
バイナリフォーマットを使用し、多くの重複パッケージを削除することにより、最新のデータフレームが利用できることを保証しながら、サーバーと Web クライアント間の帯域幅使用量を大幅に削減し、低帯域幅での接続、特に接続開始時の接続を向上させます。
Cluster-UI の改良¶
Cluster-UI は、マテリアルスタイルに移行された最新のUIです。また、以下の変更を実施しました。
- 設定同期ステータスを示すカラーコード、アイコンを追加
- Cluster-UI、Bastion-UI がアイデンティティに使用する色を変更
その他変更点や修正点¶
- [python] Python のインストーラを 3.5.3 から 3.5.4 にアップグレード。このリリースには、Windows のセキュリティとバグ修正が含まれます。https://www.python.org/downloads/release/python-354/ からのアップグレードを推奨。
- [nodejs] Node.js のインストーラを 6.9.1 から 8.11.3 LTS にアップグレード。このバージョンの Node.js には、セキュリティの重要な修正が含まれます。https://nodejs.org/en/download/ からのアップグレードを推奨。
- [bastion-api] linksdef API を Bastion API に追加。
- [bastion-api] linksdef の編集ページを Bastion-UI に追加し、ジョブページにリンクバーを追加。
- [bastion-api] Bastion API の Consul-UI リンクアドレス取得を修正 (リンクアドレスが空白のため、Consul-UI ページが開かなくなっていました)。
- [bastion-api] Infrastructure/Terraform: 失敗したプランを適用できなくなりました。
- [nomad] Nomad のポリシーと役割が、プロビジョン中の Terraform ディレクトリではなく、ローカルディレクトリの genvid-sdk 設定 中に設定されます。
- [vault] デフォルトで Vault-UI を公開します。
- [vault] Vault のルートトークンとキーは、サーバーではなく、Bastion の Vault に保存されます。注意: セキュリティは向上しますが、サーバーの再起動時に、genvid-sdk setup を実行しなおす必要があります。
- [toolbox] まれに
NetworkTool.get_external_ip
が無効な値 (通常8.8.8.8
) を返し、グローバル Terraform 変数に無効なtrusted_cidr
値を作成する問題を修正。デフォルトでhttps://checkip.amazonaws.com
を使用し、NetworkTool.CHECKIP_URL
を使用して設定できるように変更しました。 - [toolbox]
--reconfigure
オプションをgenvid-bastion install
に追加して、現在のサービスの構成をオーバーライドできるようにしました。 - [toolbox]
genvid.toolbox.ConsulTool.get_service
が、」passing」 のステータスを持つサービスだけを返すようになりました。passing
の引数を false に設定して、直前の動作を取得できます。 - [composed] 複数のソースを合成中、メモリリークが発生する問題を修正。
- [youtube player] 視聴者が Web 画面を開いたときに、データが同期するようになりました。
- [studio] オーディオミキサーの問題を修正。選択したソースに関係なく、ミキサーは必ず source-0 を使用していました。
- [studio] モニターの遅延を 300 ms に軽減。
- [documentation] 「wait command」 のエンドポイントに関する解説を追加。
- [samples] 開発をしやすくするため、全てのサンプルの
GENVID_DISCO_SECRET
、GENVID_COMMAND_SECRET
のデフォルト値を統一。公開ネットワークで実行する前に、この値を調整することを推奨。 - [unity sample] 終了時に発生するバグを修正。
- [ue4 cube sample] オーバーレイが表示されない自動プレイの問題を修正。
- [ut4 サンプル] プレイヤーフォローモード以外では、応援でカメラが変更されなくなりました。
- [unity prefab] 自動キャプチャがうまく動作しない問題を修正。
既知のバグ¶
Twitch Extension Developer Rig が動作しない¶
Twitch Extension Developer Rig から、データ同期のためのビデオストリーム、リアルプレイヤーが提供されない。このため、Web クライアントがデータを再生できません。
プロキシを使用している場合に 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.silent
をtrue
にする (デフォルト設定) 。 - raw オーディオキャプチャを使用する (Unity のデフォルト設定)。
Firefox でのスタンドアロンプレイヤー¶
スタンドアロンプレイヤーを適切に動作させるためには、読み込み可能なストリームを Firefox で有効にする必要があります。about:config
URL で、dom.streams.enabled
と javascript.options.streams
を true
に設定する必要があります。