Genvid SDK 1.7.0

Genvid SDK 1.7.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 (ベータ版)
  • オーディオ/ビデオおよびデータの複数のソース (ベータ版)
  • ライブ動画編集と基本コンポジション効果 (ベータ版)

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

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

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

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

ツールボックスは手動でインストールする必要があります。

Genvid Toolbox は、手動でインストールする必要があります。このツールボックスは、同時にインストールされた複数のバージョンの SDK のサポートを向上させるものです。SDK のインストールフォルダで py install-toolbox.py スクリプトを実行するだけで簡単にインストールできます。詳細は、 クイックツアーガイド の冒頭を参照してください。

新しいローカル Bastion ホスト

複数のクラスタ、複数の分散入力ソース、およびチームでのワークフローにおける統合の向上のため、デプロイ方法を抜本的に見直しました。以前の local.pycloud.py のサンプルスクリプトの代わりとして、まったく新しいツールボックスのツールを用意しました。詳細は、 クイックツアーガイド を参照してください。以前のバージョンからアップグレードする場合は、 アップグレード手順 に従ってください。

SDK での raw ビデオフレームのサポート

FFmpeg と broadcastd サービスを廃止するための最終段階として、本リリースでは、SDK の未処理フレームサポートを追加しました。複数のストリームと基本的なライブビデオ編集をサポートしているため、古いサービスは不要となります。新たなシステムで実現できない機能などがあれば、お知らせください。

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

  • [installer] ローカルとクラウドのインストールオプションの選択を削除。デフォルトですべてがインストールされます。
  • [installer] 使用できなくなったため、ツールから terraform-s3-dir を削除。https://github.com/saymedia/terraform-s3-dir からダウンロードできます。
  • [toolbox] Python Toolbox の stdout 出力のデコードを修正。
  • [ツールボックス] VaultTool はデフォルトで LAN アドレスに接続するようになりました。vault は外部に公開していないため、問題ありません。
  • [unity] ゲーム終了時に短いハングが発生していたのは、SDK の呼び出しがブロックされるためです。修正済みです。
  • [docker] 最新バージョンの docker (17.06.1-ce) で、ログが常に正常に stdout に出力されるように修正。一時的な対策を削除しました。

既知のバグ

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

プロキシを使用している場合に、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 サイト監視に別のマシンを使用することです。この問題は、ゲームをクラウド環境でデプロイした際には発生しません。