ライブ・キャプション

Live Captions APIを使用して、オーディオストリームをトランスクライブし、アプリケーション用にリアルタイムのキャプションを生成します。

Vonage Video Live Captions API を使用すると、文字起こしサービスを利用して、Vonage Video セッション中のエンドユーザーにライブキャプションを表示することができます。文字起こしプロバイダーとしては、AWS Transcribe を採用しています。Live Captions は OpenTok Media Router から音声を取得するため、SIP ダイヤルイン参加者の音声に対してもキャプションを提供することが可能です。

Live Captions は、すべてのプロジェクトでデフォルトで有効になっており、使用量ベースの製品です。Live Captionsの使用料は、トランスクリプション・サービスに送信された参加者のオーディオ・ストリーム(またはストリームID)の数に基づいて課金されます。詳細については Live Captions APIの価格設定ルール.

ライブ・キャプション機能は、ルーティングされたセッションでのみサポートされています。 OpenTok メディアルーター).1つのVonageセッションから一度に最大50のオーディオストリームをキャプション用にテープ起こしサービスに送信できます。

ライブ・キャプションを有効にする手順

  1. REST API または Server SDK を使用して、セッションの字幕機能を有効にする

  2. Client SDK のメソッドを使用して、音声データをキャプションサービスに公開します:

  3. サブスクライブ・クライアントでは、サブスクライバーがストリームのキャプションをサブスクライブするために、それぞれのクライアント SDK メソッドを呼び出します。

ライブキャプションを開始すると、OpenTokは音声をAmazon Transcribeなどのサードパーティ製音声文字起こしサービスへ安全にストリーミングします。

OpenTokクライアントSDKのキャプションAPIを使用して、アプリケーションでのライブキャプションの受信を有効または無効にします:

あるWebクライアントでライブキャプションの受信を開始または停止しても、OpenTokセッションに接続している他のクライアントが受信するキャプションには影響しません。

対応言語

ライブキャプションは、数多くの言語や方言に対応しています。希望する言語を languageCode オプション REST API を使用したライブキャプションの有効化:

  • "af-ZA" - アフリカーンス
  • "ar-AE" - アラビア語, ガルフ
  • "ar-SA" - アラビア語、現代標準
  • "eu-ES" - バスク
  • "ca-ES" - カタロニア語
  • "zh-HK" - 中国語、簡体字
  • "zh-CN" - 中国語、広東語
  • "zh-TW" - 中国語, 繁体字
  • "hr-HR" - クロアチア語
  • "cs-CZ" - チェコ
  • "da-DK" - デンマーク語
  • "nl-NL" - オランダ語
  • "en-AU" - 英語、オーストラリア語
  • "en-GB" - 英語, イギリス
  • "en-IN" - 英語、インド語
  • "en-IE" - 英語、アイルランド語
  • "en-NZ" - ニュージーランド、英語
  • "en-AB" - イングリッシュ、スコティッシュ
  • "en-ZA" - 英語、南アフリカ語
  • "en-US" - 英語、米国
  • "en-WL" - 英語、ウェールズ語
  • "fa-IR" - ペルシア語
  • "fi-FI" - フィンランド語
  • "fr-FR" - フランス語
  • "fr-CA" - フランス、カナダ
  • "gl-ES" - ガリシア語
  • "de-DE" - ドイツ語
  • "de-CH" - ドイツ語、スイス語
  • "el-GR" - ギリシャ語
  • "he-IL" - ヘブライ語
  • "hi-IN" - ヒンディー語、インド語
  • "id-ID" - インドネシア語
  • "it-IT" - イタリア語
  • "ja-JP" - 日本語
  • "ko-KR" - 韓国語
  • "lv-LV" - ラトビア語
  • "ms-MY" - マレー語
  • "no-NO" - ノルウェー語ブークモール
  • "pl-PL" - ポーランド語
  • "pt-PT" - ポルトガル語
  • "pt-BR" - ポルトガル語、ブラジル語
  • "ro-RO" - ルーマニア語
  • "ru-RU" - ロシア語
  • "sr-RS" - セルビア語
  • "sk-SK" - スロバキア語
  • "so-SO" - ソマリア
  • "es-ES" - スペイン語
  • "es-US" - スペイン語、米国
  • "sv-SE" - スウェーデン
  • "tl-PH" - タガログ語/フィリピン語
  • "th-TH" - タイ
  • "uk-UA" - ウクライナ語
  • "vi-VN" - ベトナム語
  • "zu-ZA" - ズールー

使用例

ライブキャプションは、アプリケーションのユーザーエクスペリエンスとユーザーエンゲージメントを向上させます。キャプションは、アプリケーションのアクセシビリティスコアを向上させ、多くの場合、聴覚障害者の参加につながります。世界には、アプリケーションにキャプションを提供することを義務付ける法律もあります。

キャプションは、制御されていない環境での話者の理解度を高め、ユーザーのエンゲージメントを向上させます。

ライブキャプションは、ルーティングされた OpenTok セッション( 以下の OpenTok メディアルーター).

ライブ・キャプション機能を有効にする:

  • クライアントオーディオキャプションAPIを使用して、各公開ストリームのオーディオキャプションを開始します。
  • 音声ストリームは、サードパーティの音声文字起こしサービスに送信されます。
  • クライアントオーディオキャプションAPIを使用して、各公開ストリームのライブキャプションを購読します。
  • 個々のサブスクライバがキャプションを受信しないことを選択しても、セッションに接続している他のクライアントの他のサブスクライバがキャプションを受信することには影響しない。
  • OpenTokのセッションが終了したとき(すべてのクライアントがセッションへのストリームの配信を停止したとき)、 次の操作を行うことができます 明示的に 「キャプションを停止」を使用してキャプションを停止する API. それ以外の場合は、最大再生時間(Start Captions APIの呼び出し時に指定された時間)が経過すると、音声キャプションは自動的に停止します。
  • 「Start Captions API」で指定された最大時間が経過すると、ライブキャプションは自動的に停止します。

備考

  • Client SDK の音声キャプション API を使用して、公開されている各ストリームの音声キャプションを開始します。

  • 音声ストリームはサードパーティの音声書き起こしサービス(AWS Transcribe)に送られる。

  • クライアントオーディオキャプションAPIを使用して、各公開ストリームのライブキャプションを購読します。

  • 個々のサブスクライバがキャプションを受信しないことを選択しても、セッションに接続している他のクライアントの他のサブスクライバがキャプションを受信することには影響しない。

  • OpenTokセッションが終了したとき(すべてのクライアントがセッションへのストリームの配信を停止したとき)、Stop Captions API を使用してキャプション表示を明示的に停止することができます。それ以外の場合は、最大継続時間(Start Captions API の呼び出し時に指定されたもの)が経過すると、音声キャプション表示は自動的に停止します。

  • サーバーローテーション中にセッションのライブキャプションが終了します。サーバーローテーションの通知イベントに応じて、ライブキャプションを再開することができます。参照 サーバーのローテーションとセッションの移行.

各 OpenTok セッションのキャプション表示のデフォルトの最大許容時間は 4 時間です。Start Captions メソッドを呼び出す際に、この最大時間を別の値に設定することができます。 API. 有効期限が切れると、音声キャプションは停止しますが、進行中のOpenTokセッションには影響しません。また、最後のクライアントがセッションから切断されてから60秒後に、キャプションは終了します。

ライブ・キャプション・ステータス更新

ライブキャプションがセッションで開始、停止、失敗したときにイベントを受信するようにWebhookを設定できます。

  1. あなたのところへ Video APIアカウント をクリックし、左側のメニューにあるプロジェクトのリストからプロジェクトを選択します。

  2. アンダー プロジェクト設定見つける ライブ字幕モニタリング をクリックしてください。 設定.

  3. コールバックの送信先URLを送信する。

    安全なコールバック: を設定する。 シグネチャー・シークレット を使うと、署名付きのコールバックで、署名の秘密を使って安全なウェブフック・コールバック・リクエストを使うことができます。参照 安全なコールバック.

ライブキャプションのステータスが変更されると、HTTP POSTがコールバックURLに配信されます。コールバックURLが設定されていない場合、ステータスの更新は配信されません。HTTPリクエストの生データは、以下の形式のJSONエンコードされたメッセージです:


{
  "captionId": "<captionsId>",
  "projectId": "<apiKey>",
  "sessionId": "<sessionId>",
  "status": "stopped",
  "createdAt": 1651253477,
  "updatedAt": 1651253837,
  "duration": 360,
  "stream": {
    "streamId": "<streamId>",
    "streamStatus": "stopped"
  },
  "languageCode": "en-US",
  "reason": "Maximum duration exceeds.",
  "provider": "aws-transcribe",
  "status": "stopped",
  "group": "captions"
}

JSONオブジェクトには以下のプロパティが含まれる:

  • captionsId — 音声キャプションセッションの固有ID。
  • projectId — APIキー
  • sessionId — 音声キャプションの配信が開始された OpenTok セッション。
  • status — ライブ字幕の現在の状況。
    • "started" — Vonage Video APIプラットフォームは、キャプション作成のための音声ストリームを送信するために必要なリソースの割り当てに成功しました。 "transcribing" — 文字起こしサービスが開始されました(字幕作成も進行中です)。* "stopped" — キャプションの表示が停止し、すべてのリソースが削除されました。
    • "failed" — 字幕生成において、必要なリソースの割り当てに失敗したか、字幕生成用のストリームが送信されませんでした。
  • createdAt — 音声キャプションの再生が開始された時点のUnixタイムスタンプ(エポック)。
  • updatedAt — 音声キャプションが更新された時点のUnixタイムスタンプ(エポック)。もし status が「停止」している場合、その updatedAt 字幕の表示が終了した時刻を示しています。
  • stream — キャプション付きストリームのストリームIDとステータスを含むオブジェクト。
  • languageCode — 使用されている言語コード「BCP-47」
  • reason — ステータス変更に関する追加のエラー情報
  • provider —音声字幕の作成に利用したサードパーティのサービスプロバイダー:
    • "aws-transcribe" — Amazon Transcribe
  • group — イベントのタイプ。オーディオキャプション API のイベントでは、常に「captions」に設定されます。

サンプル

について opentok-web-samples Basic-Captions サンプル Vonage Client SDKを使用して構築されたWebアプリで、ライブキャプション機能を利用しています。

既知の問題

  • 参加者が15秒以上ミュートすると、課金コストを節約するため、サードパーティのトランスクリプション・プロバイダーへの接続が切断されます。再接続してキャプションが再開されるまで、2~5秒かかる場合があります。

詳細情報

参照 この Vonage API サポート記事 詳しい技術仕様とFAQはこちら。

参照 この Vonage API サポート記事 Live Captions APIの価格については、こちらをご覧ください。