ライブ・キャプション

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

Vonage Video Live Captions APIを使用すると、Vonage Videoセッションで、トランスクリプションサービスを使用してエンドユーザにライブキャプションを表示できます。私たちはAWS Transcribeをトランスクリプション・プロバイダーとして使用しています。Live CaptionsはMedia Routerから音声をキャプチャするので、SIPダイアルイン参加者の音声にもキャプションを提供することができます。

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

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

Live caption illustration

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

キャプションサービスに音声を公開するには、Client SDKのメソッドを使用します。参照 ライブキャプションの導入

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

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

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

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

対応言語

ライブ・キャプションは様々な言語に対応しています。希望の言語を 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" - ズールー

使用例

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

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

ライブキャプションは、ルーティングされたセッションでのみ利用可能です。 メディア・ルーター).

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

  • クライアントオーディオキャプションAPIを使用して、各公開ストリームのオーディオキャプションを開始します。
  • 音声ストリームはサードパーティの音声書き起こしサービス(AWS Transcribe)に送られる。
  • クライアントオーディオキャプションAPIを使用して、各公開ストリームのライブキャプションを購読します。
  • 個々のサブスクライバがキャプションを受信しないことを選択しても、セッションに接続している他のクライアントの他のサブスクライバがキャプションを受信することには影響しない。
  • セッションが終了したとき(すべてのクライアントがセッションへのストリーム配信を停止したとき)、Stop Captions APIを使用して明示的にキャプションを停止できます。を呼び出すときに指定した)最大継続時間が経過すると、音声キャプションは自動的に停止します。 キャプションAPIの開始)の有効期限が切れた。
  • サーバーローテーション中にセッションのライブキャプションが終了します。サーバーローテーションの通知イベントに応じて、ライブキャプションを再開することができます。参照 サーバーのローテーションとセッションの移行.
  • ライブキャプションは、最大4時間後に自動的に停止します。 キャプションAPIの開始.有効期限が切れると、進行中のセッションに影響を与えることなく、音声キャプションは停止します。
  • ライブキャプションは、最後のクライアントがセッションから切断してから60秒後に終了します。

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

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

  1. あなたのところへ Video APIアカウント をクリックし、左側のメニューにあるプロジェクトのリストからプロジェクトを選択します。
  2. アンダー プロジェクト設定見つける ライブ字幕モニタリング をクリックしてください。 設定.
  3. コールバックの送信先URLを送信する。

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

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

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

  • captionsId オーディオ・キャプション・セッションの固有ID。
  • applicationId あなた固有のビデオアプリケーションID。
  • sessionId オーディオキャプションが開始された OpenTok セッション。
  • status ライブキャプションの現在の状況。
    • "started" Vonage Video APIプラットフォームは、キャプション用の音声ストリームを送信するために必要なリソースを正常に割り当てました。
    • "transcribing" テープ起こしサービスが始まった(キャプションも進行中)。
    • "stopped" キャプションは停止され、すべてのリソースが削除されました。
    • "failed" キャプションが必要なリソースを割り当てられなかったか、キャプション用のストリームを送信できなかった。
  • createdAt 音声キャプションが開始されたUnixタイムスタンプ(Epoch)。
  • updatedAt 音声キャプションが更新されたUnixタイムスタンプ(Epoch)。もし status"stopped"updatedAtは、キャプションが停止した時刻を示す。
  • stream キャプション付きストリームのストリームIDとステータスを含むオブジェクト。
  • languageCode 使用されているBCP-47の言語コード。
  • reason ステータス変更に関する追加のエラー情報。
  • provider音声キャプションに使用される第三者サービスプロバイダー:
    • "aws-transcribe" アマゾンのトランスクライブ
  • group イベントのタイプ。音声キャプションAPIイベントの場合は常に "captions "に設定される。

ライブ・キャプションの導入

を使用する。 ライブキャプションAPI セッションに接続されたパブリッシャーと購読者のリアルタイムの音声キャプションを可能にする。

ライブキャプションは、セッションレベルで REST API.

ライブキャプションは、以下の場合にのみサポートされます。 ルーティングセッション.

Publishing live captions

To enable live captions, initialize the `OTPublisher` component with the optional boolean `publishCaptions` property of the `properties` prop set to true:
<OTPublisher
  style={{width: 400, height: 300}}
  properties={{
    publishCaptions: true,
    // ... other properties
  }}
/>

この設定は false デフォルトで

このプロパティを(Reactの状態変化に基づいて)動的に変更すると、公開ストリームのキャプションのオン/オフを切り替えることができます。

Subscribing to live captions

To start receiving captions, set the `subscribeToCaptions` property of the `properties` prop of the `OTSubscriber` component:
<OTSubscriber
  style={{width: 200, height: 200}}
  properties={{
    subscribeToCaptions: true,
    // ... other properties
  }}
  eventHandlers={{
    captionReceived: event => {
      console.log('Caption received:', event.text);
      console.log('Caption final:', event.isFinal);
    },
  }}
/>

を設定することができます。 subscribeToCaptions プロパティ true ストリームを公開しているクライアントが現在ライブキャプションを公開して いるかどうかに関係なく。サブスクライバは、パブリッシャがキャプションを公開し始めると、キャプションデータの受信を開始する。

購読者は、以下の方法でキャプションを受け取る。 captionReceived イベント・ハンドラ(上図)。

captionReceivedイベントオブジェクトには、次の2つがあります。 properties:

  • テキスト - キャプションのテキスト(文字列)
  • 最終 - キャプションテキストがフレーズ (trueまたはパーシャル(false)。 React Native SDKは、captionsイベントのテキストを表示しません。独自の UI 要素を作成して、captions イベントに基づいてキャプション・テキストをレンダリングできます。

ライブキャプションの受信

Vonage Web Client SDKは、パブリッシャーが自身のキャプションのイベントを受信することをサポートしていません。ローカルクライアントによって公開されたストリームのキャプションをレンダリングするには、キャプションイベントをリッスンするために、(ローカルパブリッシャーのストリームに対する) 非表示のサブスクライバーを作成します。の subscribeToSelf プロパティを設定します。 OTSubscriber への true.この加入者のビデオをレンダリングしてはならない(そのビデオを width そして height を 0 に設定します)、オーディオを購読すべきではありません。 subscribeToAudio をfalseに)。

他のストリームのキャプションと同じように、UIにキャプションを追加することができます。参照 購読者のカスタムレンダリング.

既知の問題

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

詳細情報

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

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