リリース & アップグレードノート¶
以下では、最新バージョンの Genvid MILE SDK のリリースノートをご覧いただけます。このセクションには、SDK の以前のバージョンの リリースノート と 以前のバージョンのアップグレード の手順も含まれています。
Genvid MILE SDK 1.39.0¶
Genvid MILE SDK 1.39.0 へようこそ本リリースは、統合のために必要なすべての機能と安定性を備えています。ローカル環境での開発や限定されたクラウドでのデプロイに使用することができます。他のソフトウェアで提供されるような、プロダクション環境に向けて不足している機能もあります。プロダクション(本番)のデプロイをお考えの方は、 support@genvidtech.com までご連絡ください。
私たちは、快適な製品展開のためにすべての機能を完成させるまで、定期的にリリースを行うことをお約束します。私たちは常に、リリース間のスムーズなアップグレードを保証し、可能な限りの後方互換性サポートを提供するよう努力しています。既知の問題と回避策の完全なリストは、弊社の AnswerHub ページ に掲載されています。何か問題がありましたら、ご連絡ください。
現在ご利用になれる機能¶
現在ご利用になれる機能の概要を紹介します。本リリースの新機能一覧は以下の 主な修正と変更 を参照してください。
- ビデオとゲームデータストリームの自動同期。
- YouTube および Twitch へのライブ動画配信。
- 埋め込み型 Web ページ用 Javascript SDK。
- オーディオ/ビデオおよびデータの複数のソース。
- 任意の追加ゲームイベントおよび通知のライブ配信。
- スケーラブル イベント メッセージ システム。
- Windows C++ API、C# ラッパー。
- ビデオエンコード (H264 + AAC)。
- Unity3D 統合 (ゲームと管理)。
- Unreal Engine 統合 (ゲームと管理)。
- D3D11 または未処理フレームのビデオキャプチャ。
- WASAPI オーディオキャプチャ。
- ローカル、リモートクラスタの管理用ツール、スクリプト。AWS および Azure 用サンプルスクリプト。
- ライブ動画編集と基本コンポジション効果 (ベータ版)。
- RTMP Ingest サーバー (ベータ版)。
- サービス制御用 REST API (ベータ版)。
- メトリクス フィード
- 負荷テスト用ライブラリ。
- 複数の統合サンプル。
- 詳細な解説書。
主な修正と変更¶
Python 3.10の開発サポート¶
Genvid MILE SDK を更新し、Python 3.10 をデフォルトでインストール、使用するようにしました。SDK はまだ Python 3.8 をサポートしていますが、Python 3.10 にアップグレードすることをお勧めします。
Unity と Unreal の Editor Pluginを非推奨¶
Unity、Unreal EngineともにEditorプラグインは非推奨とする予定です。
この変更に備え、Unreal の Genvid Editor
モジュールを独自のプラグインに変換し、 GenvidPlugin
から切り離しました。また、Unreal の Genvid
モジュールを独自のプラグインに変換し、現在は Genvid Blueprint
と呼んでいます。
今後のリリースで、UnityとUnrealのエディタモジュールのプラグインを削除する予定です。
エディタープラグインと同じストリーミングサービスのコントロールには、 Genvid MILE SDK ウェブインターフェースを使用します。
UnityおよびUnreal Plugin SDKのバージョンに依存しない。¶
プロジェクトでUnityまたはUnrealプラグインのいずれかを使用する際に、使用するSDKソースを指定できるようになりました。
Unrealの場合、 engine-integration\ue4\copy-ue4-plugin.py
スクリプトを使用して、SDKディレクトリパスを設定することができます。
Unityについては、エディタ内の新しい Genvid SDK Window
を使って、バージョンを切り替えることができます。
その他変更点や修正点¶
- [toolbox] Nomad を 1.2.4 から 1.3.5 にアップグレードしました。
- [toolbox] Consul を 1.11.2 から 1.13.2 にアップグレードしました。
- [toolbox] Vault を 1.9.3 から 1.11.3 にアップグレードしました。
- [toolbox] Consul-Template を 0.27.1 から 0.29.2 にアップグレードしました。
- [toolbox]
genvid.toolbox.BastionTool.SETUP_JOBS
内の HCLv1 ジョブのサポートが削除されました。詳しくは、アップグレードノートご覧ください。 - [toolbox] SDK 自体のバージョンを返す新しいコマンド genvid-sdk sdk-version を追加しました。このコマンドは、
genvid-toolbox
のバージョンを返す genvid-sdk version に取って代わります。 - [toolbox]
ROOTDIR
を非推奨とし、GENVID_SDK_FOLDER
とGENVID_TOOLBOX_FOLDER
で置き換えました。 - [toolbox]
genvid.toolbox.BaseTool
のsetbasescript
とsetcurdir
を非推奨としました。 - [toolbox] 非推奨の
CURDIR
環境変数とその使用法。 - [toolbox]
--ignore-requires-python
をinstall-toolbox.py
に追加しました。 - [aws]
wingame
AMIをセットアップする際に、GENVID_SERVICES_DATADIR
が早期に設定される問題を修正しました。 - [aws] の
wingame
AMIにENA最適化、ボリューム初期化、ジャンボフレームを追加しました。 - [azure] スケジュールされたタスクが正しい順番で実行されるようにすることで、
wingame
マシンが最初の起動時に登録されないという問題を修正しました。 - [azure]
C:\user_data.log
に user_data 実行時のログを追加しました。[azure] スケジュールされたタスクが正しい順番で実行されるようにすることで、wingame
マシンが最初の起動時に登録されないという問題を修正しました。 - [azure,aws] アウトプットを
c:GenvidLogs
へ送信することにより、スケジュールされたタスクのログを記録するようになりました。 - [bastion] Bastion REST Terraform Commands API の
kill
とterminate
で使用する HTTP メソッドが、OpenAPI の定義でPOST
の代わりにGET
として宣言されていた問題を修正しました。 - [sdk] SDKとドキュメント全体を通してGenvidロゴを更新しました。
- [composed,gvencode] ストリーミングサービスの再起動に失敗する問題を修正しました。
- [ue4-editor] Unreal Engineエディターを閉じた時のクラッシュを修正しました。
- [unity-plugin,sdk] ゲーム更新時のUnityプラグインの更新を改善しました。オーディオ、ビデオ、ストリーム、イベント、コマンドのためのgenvidの設定を失わないようにしました。古いUnityプラグインは非推奨ですが、まだ使用可能です。
- [web-sdk] console.logを使用する際にコンテキストが欠落していた問題を修正しました。
- [web-sdk] setInterval と clearInterval の両方が、同じ
getConfig().window
オブジェクトに設定される問題を修正しました。
既知の問題¶
genvid-sdk upload-images
または upload-images-sdk
はエラー ERROR: (InvalidValuesForRequestParameters)
を発生させる。¶
genvid-sdk upload-images
または genvid-sdk upload-images-sdk
を実行すると、以下のエラーメッセージが表示される場合があります:
ERROR: (InvalidValuesForRequestParameters) Values for request parameters are invalid: networkAcls.ipRules[].
どちらかのコマンドを実行すると、Genvid ToolboxはストレージアカウントにBastionのIPアドレスを追加します。ただし、Azureのストレージアカウントには、200個のIPアドレスの制限があります。そのため、どちらかのコマンドを実行すると、その制限を超える可能性があります。詳しくは、Azure公式ドキュメント を参照してください。
回避策として、ストレージアカウントから余分な IP アドレスを削除することができます。Azure ポータルから。
- に移動します。
- 選択した仮想ネットワークとIPアドレスから**有効にする**を選択します。
- リストからIPアドレスを削除する。
- 変更内容を保存します。
- エラーの原因となった
genvid-sdk
コマンドを実行します。
インストールされているバージョンが Unity 2020 LTS のみの場合、Unity Sample のビルドが失敗する¶
インストールされている Unity バージョンが Unity 2020 LTS の場合、Unity Sample のビルドが失敗し、次のエラーが表示されます。 「Cannot find executable in the path:Unity.exe」
回避方法としては、 build スクリプトの使用時に 「-v」 オプションを使用してください。
例: py unity.py prepare -v 2020.3.20f1
Nomadを使用して起動しない場合、Genvid MILE SDK を統合したアプリケーションは、一度に1つだけ実行できます。¶
Genvid MILE SDK を使用したアプリケーションを Nomad を使用せずに起動した場合、デフォルトのセッション名が割り振られます。Unity エンジンや Unreal エンジンでアプリケーションをテストするときや、アプリケーションを手動で起動するときに便利です。
現在、環境変数 GENVID_SESSION_NAME をユニーク名に変更していない場合、Genvid MILE SDK は、この方法で起動した複数のアプリケーションをサポートできません。Nomad を使用してアプリケーションを起動することで、この問題を回避することもできます。
この問題は、今後のリリースで修正予定です。
Azure のレポートでは、要求されたインスタンスサイズが利用できない。¶
Azure では、ゲームマシン用の計算インスタンスタイプ Standard_NV6 を使用しています。一部のアカウントでは、このインスタンスタイプのプロモバージョンしか利用できません (Standard_NV6_Promo)。
Azure モジュールで Terraform のセットアップを行うと、エラーが発生することがあります。:
The requested size for resource 'XXXX-game-1' is currently not available in location 'XXXX'
回避策:
- Terraform Settings ページを開きます。
- instance_game_type を Standard_NV6_Promo に変更します。
- Commands ページを開きます。
- もう一度 を選択します。
スタンドアロンプレーヤーでの iOS デバイスへのストリーミングは現在、機能していません。¶
スタンドアロンプレーヤーでの iOS デバイス (iPhones と iPads) へのストリーミングは現在、機能していません。この問題は、今後のリリースで修正予定です。
RemoteGUI インターフェイスでは、ローカルクラスタのリンクは無効です。¶
ローカルクラスタで RemoteGUI を使用している場合、コンポジション、エンコーディング、SDK GUI ボタンからリンクをクリックしてタブを開くと、リンクが無効になります (青から赤に変わります)。当該タブを閉じるとリンクは再び有効になります。
Azure でアベイラビリティゾーンを変更する際には、リソースを破壊して再構築する必要があります。¶
Azure で AZ を変更する際に、パブリック IP が仮想マシンから切り離されていないため、パブリック IP の削除に失敗することがありました。これは、Terraform プロバイダのバグです。詳しくは、Hashicorp Github の issue をご覧ください。
回避策としては、問題のあるパブリック IP を Azure ポータルの仮想マシンから手動で切り離します。
genvid-sdk upload-images-sdk
コマンドが、Azure Cloud 上での Docker イメージのアップロードに失敗します。¶
一部の Docker イメージは、サイズが大きいため、 genvid-sdk upload-images-sdk
コマンドを使用して Azure Cloud にアップロードできません。(SSL エラーと Max retries exceeded
のメッセージが表示されます)。
回避策:
- Azure UI を開きます。
- イメージを手動でアップロードします。
- もう一度
genvid-sdk upload-images-sdk
を起動します。
既存の AWS クラスタでサブドメインを更新する際に、サブドメイン NS レコードを手動で削除する必要があります。¶
basic_cluster_alb_ssl
または minimal_cluster_alb_ssl
を使用して AWS クラスタを作成する場合、ドメインとサブドメインが提供されます。既存クラスタのサブドメインを更新する場合、以前のサブドメインの route53 の NS レコードをメインドメインから手作業で削除する必要があります。これは Terraform 内での NS レコードの処理のためです。
AWS を使用しているクラスタ basic_cluster_alb_ssl
のサブネットを削除できません。¶
basic_cluster_alb_ssl
の subnet_cidr_block_size
を変更したり、AZ の数を減らしたり、既存の AZ を並べ替えたりすると、クラスタはサブネットを削除しようとして止まってしまいます。
設定を再適用しても、問題は解決しません。
回避策: クラスタを削除して作り直してください。
Bastion クラスタの設定ページのモーダルウィンドウが閉じない。¶
クラスタの Bastion 設定 ページで、クリックしても、カスタムタグの Properties モーダルウィンドウが閉じない。
回避策としては、もう一度 Properties をクリックしてモーダルウィンドウを閉じてください。
Studio UIが反応しなくなる。¶
ビンやNATSのサービスが不健全になった場合、Studio UIが応答しなくなります。
回避策としては、ビンとNATSジョブが健全な状態に戻ったら、Studioジョブを再起動します
Azureでは、オーディオとビデオのストリームが非同期化されることがあります。¶
Azure上で60FPSのビデオストリームをキャプチャすると、ビデオストリームと比較してオーディオストリームが徐々に非同期化されます。
制限事項¶
誤った順序で設定をロードすると、値が上書きされることがあります。¶
クラウド上で SSL を使用している場合でも、ローカルクラスタで SSL を使用している場合でも、Web サンプルを読み込む前に youtube.sample.hcl
を読み込むと、Web サンプルは web.hcl
ファイルから embed_ssl に関連付けられた値を上書きします。
NTP の時間オフセットが大きいと、ストリームの再生ができなくなります。¶
大きな NTP 時間オフセットが発生した場合、ストリームの再生が停止する可能性があります。回避策としては、ゲーム機が自動的に時計を更新するように設定されていることを確認してください。ローカル設定では、AWS IP アドレスを pool.ntp.org
に置き換えてください。
詳細については、 AWS 設定セクション を参照してください。
Studio は、複数のウィンドウから同じコントロールの入力を受け取ることはできません。¶
Studio が、複数のブラウザウィンドウで開かれていて、異なるソースから 1 つのコントロールに入力を受信した場合、最後の値は最新のものに更新されるのではなく、異なる入力間でバウンスされます。たとえば、Audio Mixer Widget でユーザーが Master Gain のスライダを 20 db に変更し、別のユーザーが 0 db に変更した場合、スライダハンドルは 0 db に設定される代わりに 20 db と 0 db の間でバウンスします。
この問題が解決されるまで、複数の Studio ウィンドウから 1 つのコントロールへ入力することはお勧めできません。
Windows がスリープ状態から復帰後、アプリケーションが正常に動作しない。¶
Nomad は、それ自体も含み、スリープ中のジョブで問題が発生する場合があります。Nomad 側で修正される可能性は低いものの、プロダクション環境では発生しません。最善の回避方法としては、サービス実行中は Windows がスリープ状態にならないようにするか、 genvid-bastion reinstall
でサービスを開始しなおすことです 。(genvid-bastion restart
だけでは不十分です。)
SDK はフレームレートを 1.0 以下に固定します。¶
問題を回避するためにストリームのフレームレートを 1.0 に下げました。フレームレートが 1.0 以下の場合は、SDK が 1.0 FPS に固定します。
Azure リソースグループ名のデフォルト値が長すぎる場合がある。¶
変数 resource_group_name
に値が設定されていない場合、 {bastionid}-{clustername}
の組み合わせで設定されます。そのため、Azure リソースグループ名が最大文字数である 64 文字よりも長くなってしまう場合があります。
この問題を避けるために、変数 resource_group_name
には必ず 64 文字以下の値を指定してください。
Azure での命名についての詳細は Azure Github を参照してください。
AWS クラスタサブネットの競合エラー¶
AWS クラスタの subnet_cidr_block_size
を減らして AZ 数を増やすことを同時に行うと、サブネットの競合エラーが発生します。
この問題が発生した場合、設定を適用しなおしてください。
クラスタの更新時に、Azure ディスクに新しいタグが追加されない。¶
新しいタグを Azure クラスタに適用する際、ディスクを所有する仮想マシンインスタンスが apply
プロセス中に再作成されない限り、 disk
にタグは適用されません。
回避策としては、クラスタを削除して再作成することで問題が解決します。
クラスタ名は 64 文字までです。¶
クラスタ名は、Windows のファイルシステムの制限により、64 文字に制限されています。ファイルディレクトリの最大文字数には、システムのユーザー名やクラスタ名などが影響します。
技術的には 64 文字以上にすることは可能ですが、結果は予測できないものになります。