Studio OVP コネクタ

オンライン ビデオ プレーヤー(OVP)コネクタは、スタジオと OVP 間の通信を透過的に確立し、API 呼び出しと応答を管理するサービスです。Studio は OVP Connector に API 呼び出しを行い、OVP Connector は OVP に API 呼び出しを行い、その結果を Studio に返します。OVP Connectorは渡された引数を変更し、必要に応じてオペレーションを処理したりリダイレクトしたりします。この動作は、すべての OVP で一貫しています。

現在、以下のOVPコネクターに対応しています。

OVPストリーム健康状態

ストリームの健全性ステータスは、OVP Connectorの中核となる機能です。Studioはストリームの健全性を常に監視し、ストリームが必要な限り稼働し続け、必要かつ技術的に可能な限り回復が実行されるように、どのような措置を取るかを決定します。

配信中、Studio は OVP コネクタからストリームの健全性を常に要求します。ストリームが健全でない場合、Studio は OVP Connector を呼び出して新しいストリームを要求し、ストリームの Studio 設定(インジェストアドレス、ストリームキー、プレイバック URL)を更新します。その後、ウェブストリーム/オーバーレイの視聴者は、新しい再生URLにシームレスに切り替わります。

以下は、ストリームヘルスのステータスフィールドの値と、Studioの対応についての説明です。

Status

説明

PASS

StudioがOVPサービスにヘルスチェックを依頼し、問題が報告されない。システムは動作を継続します。

Studio が OVP サービスにストリームのヘルスチェックを要求すると、OVP サービスは稼働中であることを示すステータス PASS を返します。

WARN

ストリームが劣化した状態である可能性があります。

スタジオがOVPサービスに対してストリームのヘルスチェックを要求した場合、OVPサービス側で問題が検出されたため、OVPサービスはWARNを返します。 その後、スタジオは再度チェックを行います。ストリームの健全性が再確立されない場合、Studioはリカバリーを開始します。

FAIL

ストリームが機能していない場合、Studioは監視/回復処理を直ちに停止する必要があります。

スタジオがストリームヘルスを要求した場合、OVPサービスが要求を適切に満たすように設定されていない(arnが見つからない、ページが見つからない、リカバリで見つけられない情報がある、OVP APIがダウンしている...)。

OVP配信の監視とリカバリー

Studioは、複数日または数週間にわたるMILEの放送を作成および管理するために使用できます。そのために、現在のストリームの状態を監視し、必要に応じて新しいストリームを作成してストリーミングを再開できる機能を備えています。

注釈

このモニタリングとリカバリーの機能は、サポートされているすべてのオンラインビデオプラットフォーム(OVP)で利用可能です。

ブロードキャストモニタリングとリカバリーを有効にするには、Cluster-UI Genvid Settings ページに移動し、Broadcast Monitoring and Recovery というセクションがあり、ここからブロードキャストモニタリングの有効化と周波数の設定を行うことができます。ブロードキャスト・モニタリングとリカバリーを有効にすると、以下のことが可能になります。

  • Enable the Restarter: 現在のストリームが不健康な状態を報告した場合、Studioは新しいストリームを作成することで配信を再開します。

  • Restarter エラーしきい値の設定: 無限再起動ループを回避するために、Studio が自動的にストリームを再起動しようとする回数を決定するエラーしきい値を設定することができます。

Studio OVP自動設定

OVP Autoconfigureは、クラスタ上でStudioが起動するたびに自動的に起動されるプロセスです。OVP Autoconfigureプロセスは、Genvid Settingsを読み込んで、どのOVPサービスが選択されているかを判断します。サービスがスタンドアロンに設定されていない場合、スタジオは、Genvid Settingsページのアドレス、チャンネル、およびキーを確認します。これらのいずれかが空の場合、Studioは自動的にサービスのOVP Connectorにコンタクトして、アドレス、チャンネル、ストリームキーを入力し、新しいブロードキャストを開始します。

  • OVP Autoconfigureの有効化: OVP Autoconfigureプロセスを有効にするには、まず、コンポジションとブロードキャストサービスを有効(trueに設定)にしてください(Genvid設定ページより)。

  • OVP Autoconfigure in Studio Logs: In Studio logs, will see "Autoconfigure: Successful" プロセスが正しくトリガーされ実行された場合、と表示されます。処理が失敗した場合は、ログに㊞ "Autoconfigure: Unsuccessful" と表示されます。

Studio OVPコネクタのログ

このセクションでは、OVPコネクタに関する最も一般的なStudioログ・メッセージについて説明します。

メッセージ

意味

OVP名が{name}に設定されました。

ブロードキャスト設定は、{name}で識別されるOVPサービスを使用しようとします。

ブロードキャストモニタリングとリカバリーを更新しました

設定ページのブロードキャストモニタリングとリカバリーを読み込み、更新しました。 監視/回復の有効化、およびチェック間隔とエラーしきい値の設定が含まれます。

モニタールーチンの状態。放送中=false 復旧ルーチン中=false OVPサービス到達可能=false

監視/回復ルーチンのステータスを示す。

OVP ストリームヘルス ストリームはまだ準備されていません

Studioは、チェック/リカバリーのパイプラインを開始する前に、最初にOVPが健全であることを待ちます。

OVP ストリームヘルス Health Status=PASS(WARN, FAIL) OVP Name={ovp_name} message={message}

OVP ストリームステータス。 このドキュメントの「ストリームの健全性」のセクションを参照してください。

OVP ストリームヘルス Health Status=WARN OVP Name=ivs message=Stream degraded, 我々はパイプラインの次のステップに進みます。

restarterで指定されたオプションに基づいて、エンコーディングをチェックするか、すぐに回復することを決定します。

エンコードストリームの健康状態。Service=gvencode message=監視を継続中、当面は何もしない。

ストリームの状態をエンコードする。本ドキュメントの「ストリーム健康状態」の項を参照。

エンコードストリームヘルス Service=gvencode message=回復を開始する... status=WARN

エンコードが正常でない場合、Studioはリカバリープロセスを開始します。

リカバリーステップ ステップ=監視の一時停止

リカバリープロセスが開始され、Studioは監視を停止します。

リカバリーステップ Status=done Step=OVPからの回復を要求する。

復旧作業中、スタジオからOVPサービスへ復旧状況を要求する。

リカバリーステップ Status=done Step=ブロードキャスト設定を新しいコンフィグに更新する。

スタジオは、新しいストリーム構成で放送設定を更新しました。

リカバリー:コンポーネントチェック完了、監視に戻る。

Studioは、リカバリ後のストリームの最初の開始を確認し、監視に戻ります。

リカバリーが有効でないため、監視に戻る

リカバリーオプションは有効になっていませんが、Studioは引き続き監視を続けます。

OVPコネクタの設定

Twitchコネクタ

Twitchコネクタは、StudioとTwitch間の通信を透過的に確立し、APIの呼び出しと応答を管理し、その結果をStudioに返すサービスです。 Twitch Connectorは、渡された引数を変更し、必要に応じて操作を処理したり、リダイレクトしたりします。

要件

  • Genvid SDKとToolboxをインストール

  • Twitch Developer Accountでアプリケーションのセットアップとクレデンシャルを取得します。

認証

  • このサービスではOauth 2.0フローを使用しています。サービスが実行されると、クラスタのジョブページにある「Twitch」というリンクにアクセスすることで認証が可能になります。

  • リフレッシュ・トークンを持つ有効なアクセストークンを既に持っている場合は、hclファイルの「secrets」セクションにトークンを入力することができます。

     secrets {
        twitch_token {
            AccessToken = "YOUR_ACCESS_TOKEN",
            Expiry = "EXPIRY_TIME_OF_TOKEN",
            OvpID = "twitch",
            RefreshToken = "YOUR_REFRESH_TOKEN"
        }
    }
    

設定

  1. [TWITCHPROJECTDIR]という新しい環境変数を作成し、Twitch OVP Connectorフォルダがあるルートフォルダ(デフォルトでは GENVID_SDK_FOLDER/ovp-connectors/twitch )を指すようにします。 例えば、PowerShellでは、このようなコマンドになります。

    $env:TWITCHPROJECTDIR = {GENVID_SDK_FOLDER}/ovp-connectors/twitch.
    
  2. ファイル GENVID_SDK_FOLDER/ovp-connectors/twitch/config/twitch.hcl を開いてください。

  3. フィールド CLIENT_ID, CLIENT_SECRET に、Twitch アプリケーションから作成したものを入力します。

  4. フィールド REDIRECT_URL には、認証処理が戻るべき URL を入力します。samp:`REDIRECT_URL`は、以下のルートと一致する必要があります http{s}://{LOCALHOST or DNS_NAME_TO_YOUR_OVP_CONNECTOR}:{OVP_CONNECTOR_PORT}/auth. これは、Oauthサーバーから取得したauthコードをリダイレクトするルートです。 デフォルトでは、Twitch OVP Connectorサービスはbastionプロキシ経由でアクセスできるようになります(`Cluster API `_を参照)。

  5. basic_cluster_alb_ssl または minimal_cluster_alb_ssl モジュールを使用してクラウドにクラスタをデプロイする場合、ロードバランシングと SSL 終端設定が適切になるように twitch.hcl ファイルを更新することを確認してください。

    settings {
      leaf {
          port = 30001
      }
    }
    config {
        embed_ssl {
          enabled = true
      }
    }
    

デプロイ

ローカルクラスタ

  1. 以下のコマンドを実行して、コンフィギュレーションをロードします。

    genvid-sdk load-config --with-consul-template [TWITCHPROJECTDIR]\config\twitch.hcl --job-template-dir [TWITCHPROJECTDIR]\templates\local\
    
  2. サービスを開始する。

クラウドクラスタ

  1. 以下のコマンドを実行して、ovp-connector の docker イメージをクラスタにアップロードします。

    genvid-sdk -c {cluster_id} upload-images -u
    
  2. 以下のコマンドを実行して、コンフィギュレーションをロードします。

    genvid-sdk load-config -c {cluster_id} --with-consul-template [TWITCHPROJECTDIR]\config\twitch.hcl --job-template-dir [TWITCHPROJECTDIR]\templates\cloud\
    
  3. サービスを開始する。

お役立ち情報

YouTubeコネクタ

YouTubeコネクタ は、Studio と YouTube 間の通信を透過的に確立し、API の呼び出しと応答を管理し、その結果を Studio に返すサービスです。 YouTube Connector は、渡された引数を変更し、必要に応じて操作を処理またはリダイレクトします。

要件

  • Genvid SDKとToolboxをインストール

  • Youtube Cloud Consoleへのアクセス

  • YouTube Data API v3対応

  • Youtube Data API v3 にアクセスするための有効な Client ID と Client Secret。

認証

  • このサービスはOauth 2.0フローを使用しています。サービス実行時に、クラスタのジョブページにある "YouTube" というリンクにアクセスすることで認証が可能です。

  • リフレッシュ・トークンを持つ有効なアクセストークンを既に持っている場合は、hclファイルの「secrets」セクションにトークンを入力することができます。

    secrets {
       youtube_token {
           AccessToken = "YOUR_ACCESS_TOKEN",
           Expiry = "EXPIRY_TIME_OF_TOKEN",
           OvpID = "youtube",
           RefreshToken = "YOUR_REFRESH_TOKEN"
       }
    }
    

設定

  1. YOUTUBEPROJECTDIR]という新しい環境変数を作成して、YouTube OVP Connector フォルダがあるルートフォルダ(デフォルトでは GENVID_SDK_FOLDER/ovp-connectors/youtube )をポイントするようにします。例えば、PowerShellでは、このようなコマンドになります。

    $env:YOUTUBEPROJECTDIR = {GENVID_SDK_FOLDER}/ovp-connectors/youtube.
    
  2. ファイル GENVID_SDK_FOLDER/ovp-connectors/youtube/config/youtube.hcl を開いてください。

  3. フィールド CLIENT_ID, CLIENT_SECRET に、YouTube アプリケーションで作成したものを入力します。

  4. フィールド REDIRECT_URL には、認証処理が戻るべき URL を入力します。samp:`REDIRECT_URL`は、以下のルートと一致する必要があります http{s}://{LOCALHOST or DNS_NAME_TO_YOUR_OVP_CONNECTOR}:{OVP_CONNECTOR_PORT}/auth. これは、Oauth サーバーから取得した認証コードをリダイレクトするルートです。 デフォルトでは、YouTube OVP Connector サービスは、Bastion プロキシ経由でアクセスできます。

  5. basic_cluster_alb_ssl または minimal_cluster_alb_ssl モジュールを使用してクラウドにクラスタをデプロイする場合、ロードバランシングと SSL 終了設定が適切になるように youtube.hcl ファイルを更新することを確認してください。

    settings {
      leaf {
          port = 30001
      }
    }
    config {
        embed_ssl {
          enabled = true
      }
    }
    

デプロイ

ローカルクラスタ

  1. 以下のコマンドを実行して、コンフィギュレーションをロードします。

    genvid-sdk load-config --with-consul-template [YOUTUBEPROJECTDIR]\config\youtube.hcl --job-template-dir [YOUTUBEPROJECTDIR]\templates\local\
    
  2. サービスを開始する。

クラウドクラスタ

  1. 以下のコマンドを実行して、ovp-connector の docker イメージをクラスタにアップロードします。

    genvid-sdk -c {cluster_id} upload-images -u
    
  2. 以下のコマンドを実行して、コンフィギュレーションをロードします。

    genvid-sdk load-config -c {cluster_id} --with-consul-template [YOUTUBEPROJECTDIR]\config\youtube.hcl --job-template-dir [YOUTUBEPROJECTDIR]\templates\cloud\
    
  3. サービスを開始する。

お役立ち情報

OVP ログ

OVPログは、OVP ConnectorサービスまたはOVP API間の通信に関する問題(設定ミス、認証エラー、apiが利用できないなど)のより詳細な情報を提供します。もし問題が Studio OVP Connector logs によって報告された場合、問題の原因に関する詳細については、特定のOVPのログを参照してください。