Genvid SDK 1.10.0

Genvid SDK 1.10.0 へようこそ。このリリースでは、安定した状態で統合を行うことができ、ローカルでの開発や、限定したクラウドでのデプロイに使用することができます。プロダクションを完全にデプロイするための一部の機能はまだ実装されていませんが、他のソフトウェアによって提供可能です。プロダクションのデプロイを予定している場合は、support@genvidtech.com にお問い合わせください。

私たちは、快適な製品展開のためにすべての機能を完成させるまで、定期的にリリースを行うことをお約束します。私たちは常に、リリース間のスムーズなアップグレードを保証し、可能な限りの後方-互換性サポートを提供するよう努力しています。何か問題がありましたら、ご連絡ください。

現在の機能

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

  • 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 の改善および機能説明を追加。(プラグインを含む。)
  • オフライン データストリームの記録と再生。
  • オフライン配信セッション編集。

このバージョンの主な変更点

Studio は複数のウィンドウの同期をサポート

Studio アプリケーションのウィンドウを複数開いて、複数のデバイスからのストリームを制御できます。

新しい合成モジュール: Chroma Key Filter

合成ツールボックスに新しいフィルタ Chroma Key Filter を追加しました。グリーン画面の特殊効果として有名なものです。この新しいコンポーネントを使用して、自分や他のビデオを画面に直接取り込むことができます。

Unity プラグインの統合によるダイレクトサウンドキャプチャ

スピーカーデバイスで自動キャプチャを使用する代わりに、SDK にサウンドを直接送信する機能を追加しました。この機能は、外部のサウンドがストリームに混ざってしまう不具合を回避できます。Unity3D サンプルのデフォルト設定に使用しています。その他の統合機能も近日公開予定です。

Unreal Engine のビューポートキャプチャ

Unreal Engine の UTexture のキャプチャ機能を追加しました。この機能は、さまざまなプレイモード (PIE、スタンドアロン、シミュレート) からのライブ配信をサポートし、全画面表示を維持しながらライブ配信中のものを選択できます。

Cluster-UI でのクラスタ設定管理機能の追加

ジョブとログの定義を、UI から直接管理する機能を追加しました。

今まで以上に簡単にクラスタ設定ができる新しい API

Bastion API にいくつかの改良を行いました。

Terraform の複数の設定から選択して、Terraform のリモートストレージバックエンドを簡単に設定できるようになりました。

また、Web サーバー、S3 バケット、GitHub、Bitbucket などのソースコード管理 Web サイトなどのリモートソースからの Terraform モジュールの管理をサポートしました。

スクリプトを使用したり、UI から直接操作して、新しいモジュールを管理することができます。

新しいバグ報告ツール

インストールしてからの重要なログや設定を記録する新しいバク報告ツールを追加しました。今回のものは、ツールの初期バージョンであり、問題発生時の、解決支援に役立てていきたいと思っています。

その他小さな変更点や修正点

  • [bastion-api] クラスタ削除時にクラスタの状態を、上書きする強制オプションを追加。
  • [genvid-bastion] 新しいインストール、アンインストールコマンドを使用した、bastion のクリーナ管理。
  • [unity] Unity3D サンプルに、Unity3D version 2017.02 へのサポートを追加。
  • [studio] ジョブブラウザの Studio リンクの 404 (ページが見つかりません) エラーを修正。
  • [sdk] ビデオが正しいフレームシーケンスの再生前に、まれに、直前のフレームに戻ってしまう不具合を修正。
  • [sdk] ゲームウィンドウが最小化された時に、まれに、フレームグラバーが無制限にフレームを割り当ててしまう不具合を修正。
  • [genvid-ami] genvid-ami 設定中のエラーにより、セットアップが再開できなくなる現象が発生することがありました。エラー発生時点から再開するように修正しています。
  • [bastion-api] ログ取得用の新しいURL を追加。 /v1/terraform/instance/{instanceId}/command/{commandId}
  • [genvid-sdk] カスタムバケットへの画像アップロードができるようになりました。さらにスクリプトを改良し、必要な画像のアップロード以外の機能も追加しています。
  • [standalone-player] Firefox でのスタンドアロンプレイヤーのパフォーマンス向上。
  • [ue4 plugins] 設定変更時に、インターフェイスの更新エラーが発生する問題を修正。
  • [engine plugins] クラスタ管理インターフェイスを改良。
  • [cluster-api] ログファイル取得時に、ストールが発生する不具合を修正。
  • [compose] Consul 設定にアクセス中に Compose のクラッシュが発生する問題を修正。

既知のバグ

このリリースでは一部のバグが未修正のまま残っていますが、まもなく修正する予定です。

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

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

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

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

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

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

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

ループバックデバイスでオーディオをキャプチャしているため、ゲームを実行しているマシンを通過するすべてのサウンドがキャプチャされます。これには、システムアラートやマイク入力だけでなく、Web ブラウザも含まれます。ゲームを実行しているマシンからゲームストリームを鑑賞した場合、最大 10 秒の徐々に音質が劣化 (ストリーミングのたびに圧縮がかかるため) するエコーがかかった状態で、ゲーム自体のオーディオをキャプチャしているのがテストし確認できます。推奨する解決策としては、オーディオを無効にする (デフォルト設定で genvid.encode.input.silent = true) 方法、または、Web サイト監視に別のマシンを使用することです。この問題は、ゲームをクラウド環境でデプロイした際には発生しません。

サービスが statsd サービスを検出できない

GENVID_STATSD_URL 変数を使用していない場合、開始前に statsd サービスを検出することができません。次回のバージョンで修正予定です。

ゲームキャプチャが、バックグラウンドでの実行から復帰しない

多数の``Genvid_SubmitVideoData`` を実行中、バックグラウンド (ウィンドウの最小化、またはスクリーンセーバーの起動) 時にチュートリアルサンプルが送信され、ゲームの復帰時にバグが発生することがあります。キャプチャデータを再生すると、フレームが正しい順序で再生されません。このバグは、正しく構成されたサーバーでは発生しません。

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

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