Genvid SDK 0.7.1 - アルファリリース

Genvid SDK のアルファリリースへようこそ。 本リリースの目的は、弊社 API 初のプレビューのご利用と、ゲームを使用して、Genvid のライブ配信の開発を始めていただくことです。

本リリースはローカルでの使用専用ですが、実際の本番配信に含まれるものに近い体験をしていただけます。また、アルファ版ソフトウェアであるため、一部の API、設定フォーマット、変数、機能は、フィードバックに基づいて変更される場合がありますが、今後のリリースに向けて明確で分かりやすいアップデートを行っていく予定です。

本リリースでは、安定性の問題により、一部の機能が装備されていません。また、完全版のリリースまでに修正予定の既知のバグがありますが、開発上支障を来すものではありません。

使用できない機能

本リリースでは、サーバー上でのサービスのデプロイを行うことができない仕様になっています。この機能は、SDK 1.0 のリリースで実装予定です。今後 (1.0 までに) 実装予定の機能には次のようなものがあります。

  • オーディオのキャプチャとライブ配信への対応
  • ユーザーの認証と確認
  • シークレット (secret) パラメータの取り扱いの安全性向上
  • ハードウェアエンコード
  • 対応動画フォーマットの追加
  • ダイレクトデータに対応

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

さらに、初期公開後に公開する新機能を準備中です。

  • 複数のデータセンターに対応
  • 複数の配信セッション管理
  • 同一インスタンス、または複数のインスタンスからの、複数の動画およびデータのストリーミング
  • 外部ソースからの外部オーディオ/ビデオストリーミング
  • インスタント リプレイ
  • ライブ動画編集と基本コンポジション効果
  • データストリームのオフライン録音と再生
  • オフライン配信セッション編集

本バージョンのバグ修正

新 API への Web サイト統合を更新

以前のバージョンでの Web サイト統合には、古い API を使用していました。現在、最新版を使用するように更新しました。

UE4 統合での初期化、終了のパラレル実行

Genvid ライブラリの初期化、終了は、GenvidPlugin で行うようにしました。

ジョブとサービスの依存性アイテムを追加

サービスに適切な依存性アイテムを追加しました。サービスの起動前に、起動可能な状態になるまでサービスが待機できるようになりました。これにより、ビジー状態や、低スペックのマシン (仮想マシンなど) で発生する可能性のあるスタートアップの問題が解決します。

新たな ffmpeg ジョブ

サーバーが応答する準備ができていない場合、起動時のエラーを回避するため、新しい FFmpeg ジョブを追加します。これにより、エンコーダが再起動されるまで、起動時に不要な遅延が発生します。

最後のフレームのリピートを修正

ゲームが切断された時に、最終フレームのリピートが 1 秒以上続かないようになりました。ストリームは、一時停止します。この動作は、ゲームが再接続するための時間を確保するために存在しますが、ストリームが長時間 (通常は 1 分以上) 途切れた場合に、意図しない動作を起こす可能性もあります。

reduce 処理の、実際に使用可能なものへのクリーンアップ

ユーザーは独力で sum/count を計算できるため、 average reduction 処理 は使用できなくなりました。

既知のバグ

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

nomad-ui にログが表示されない

Nomad-ui ではこの問題は修正済みですが、Nomad の最新バージョンが必要です。( Windows では問題が発生します。) また、 tutorial.py logtutorial.py stderrtutorial.py stdout をコールすることで、タスクのログにアクセスすることができます。

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

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

バイナリパスのスペース

Nomad の厳格な検証ルール のため、ジョブで使用する実行ファイルのパスを指定する際に、スペースは使用できません。Windows では、パスが 8.3 形式に短縮されますが、ファイルシステムによっては、失敗する<short-path-disabled_> 可能性があります。また、実行ファイル自体の名前にスペースが含まれている場合、Nomad で使用するプロセスイメージ名が 8.3 形式で生成されるため、非対応となります。

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

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

Unreal Tournament の Web サイトに、多数のプレイヤーが表示されることがある

Web サイトのコードが、現在のプレイヤーを適切にクリアしていない場合があり、以前のゲームのプレイヤーリストがクリアされず残ってしまう可能性があります。この現象は、新規ゲームを自動で開始した時にのみ発生し、手動で再スタートした場合には発生しません。