Genvid SDK 1.8.0

Genvid SDK 1.8.0へようこそ 本リリースは、統合のために必要なすべての機能と安定性を備えています。ローカル環境での開発や限定されたクラウドでのデプロイに使用することができます。 他のソフトウェアで提供されるような、完全なプロダクション環境に向けて不足している機能もあります。他のソフトウェアによって提供可能です。プロダクションのデプロイを予定している場合は、support@genvidtech.com にお問い合わせください。

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

現在の機能

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

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

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

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

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

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

複数のストリームに対応した Web API

以前のリリースで公開したコンポジション機能は、複数のデータソースの場合、新たな処理が必要になります。 詳細は、 Website Integration を参照してください。

Genvid-UI を Bastion-UI および Cluster-UI に変更

genvid-ui サービスは使用できません。Web サイトは、bastion-api と cluster-api で再配信されます。

Genvid Studio がサンプルになりました

Web サイトの分割により、Compose ページに、独自の Web サーバーとその設定に役立つサンプルを追加。プレビューでは、この設定によりサービスをより進化させることができます。詳細は、 Genvid Studio Service セクションを参照してください。

新しい RTMP Ingest サーバー

gvencode エンジンをベースに、RTMP Ingest サーバーを使用して RTMP ソースを Genvid の配信に取り込むことができます。これにより、Webcam またはスクリーン共有画面を配信に簡単に追加でき、Genvid Studio を使用してライブストリームを直接編集したり、変更したりできるようになります。詳細は、 Genvid Ingest sample を参照してください。

新しいメトリクス フィード

statsd プロトコルにより、内部メトリクスの公開を開始しました。オープンソースの時系列プラットフォームである TICK との統合方法を紹介したサンプルも提供しています。詳細は、 Metrics セクションと TICK Integration サンプルを参照してください。

スタンドアロン配信サービス

この機能により、Twitch や Youtube などのサードパーティのライブ配信サービスに依存することなく、開発者は、ストリームをローカルで配信できます。もう YouTube アカウントや Twitch アカウントを設定する必要はありません。この機能は現時点では Chrome 59 以上で動作します。

Unity の HUD を使用せずにカメラによるビデオキャプチャ

Unity3D サンプルを更新し、レンダリングテクスチャでビデオキャプチャを表示するようにしました。アプリケーションの HUD を表示しないで、カメラのフィードから直接キャプチャすることができるようになりました。

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

  • [services] Vault をバージョン 0.8.1 に更新。 server AMI の更新が必要です。
  • [openapi/sdk] REST API のすべてのポートを GenvidRESTCSharp ラッパーへ。
  • [toolbox] genvid-bastion log コマンドの引数を修正。
  • [toolbox] 作成済みクラスタでの genvid-ami setup の実行を許可。
  • [toolbox] サービスをタグで検索した時に ConsulTool.get_service が空のリストを返す不具合を修正。このバグが vault の初期化での競合を発生させていました。
  • [toolbox] 使用可能な AMI をリストアップするために genvid-ami list を追加。
  • [openapi] REST API の LogData.logLevel 定義のタイプを修正。
  • [sdk] GENVID_AUDIO_DEVICE 環境変数を使用してオーディオデバイスを選択する機能追加。 wingame AMI の更新が必要です。
  • [composed] オーディオ/ビデオ/データの同期を改善。
  • [services] 合成のパイプラインにフレームグループとセッション名を追加。
  • [genvid-ui] 設定 UI の新しいセクションで、リンク定義の編集、作成、削除が可能。
  • [cluster-api] endpoint GET -> 『/linksdef/{linkID}』 で、リンク定義を取得可能。
  • [sdk] IGenvidClient.onDraw コールバックの IDataFrame.timeCode が廃止され、合成時間ではなく、以前のようにデータのキャプチャ時間を設定できるようになりました。

既知のバグ

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

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

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

エンジンプラグインが、ローカルクラスタしか管理できない

現時点では、新しい API は、クラスタ選択をサポートしていません。 今後のリリースで可能になる予定です。

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

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

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

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

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

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