サードパーティの字幕サービスの使用

ミーティングのホストは、字幕URLをサードパーティの字幕サービスに提供することで、字幕をZoomのミーティングに追加できます。字幕URLを使用することで、サードパーティサービスによって字幕ソフトウェアからZoomのミーティングに字幕がストリーミングされます。この記事では、Zoomが字幕データを受信するために使用する形式を定義します。

Zoomで字幕を使用するのが初めての場合は、字幕の概要を参照してください。

サードパーティの字幕サービスを統合するための要件

目次

字幕URL(API トークン)の取得方法

接続を確立するためには、ホストまたは共同ホストが字幕URLをコピーし、Zoomの字幕REST APIに対応する字幕ソフトウェアに入力する必要があります。または、ホストがURLをコピーして、ミーティング内チャットを使用して、他のユーザーに送信することもできます。

  1. ホストとしてZoomミーティングまたはウェビナーを開始するか、参加後に共同ホストに昇格します。
  2. コントロールツールバーで、[字幕を表示] の横にある上向き矢印をクリックします。
  3. [手動字幕を設定] をクリックします。
  4. [APIトークンをコピー] をクリックします。

HTTP経由での字幕URLの使用方法

Zoomでは、字幕データがPOSTの連続したシーケンスとして受信されることを想定されています。すべてのミーティングセッションとブレイクアウトルームセッションには特殊URLが存在します(ブレイクアウトルームセッションには追加のsubconfidパラメータが存在します)。POSTのURLによって、データの送り先(字幕が関連付けられているミーティング)が指定されます。

例: https://wmcc.zoom.us/closedcaption?id=200610693&ns=GZHkEA==&expire=86400&spparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW

次のパラメータをすべてのPOSTのURLに追加する必要があります。

     

名前説明フラグメントの例
seq

すべてのPOSTに含まれている必要があります。すべての字幕データPOSTのカウンターです。カウンターは、新しい字幕データのPOST間に1つずつ増加する必要があります(再試行の場合は増加してはいけません)。

最後に送信が成功した seq番号は、API(/closedcaption/seq [GET])を経由して取得できます。

 
&seq 

コンテンツタイプとデータ

すべてのPOSTのコンテンツタイプ(MIMEタイプ)は、UTF-8エンコードのプレーンテキスト形式である必要があります。

字幕の取込ポイントに送信されるすべてのHTTP POSTには、コンテンツ本文内に字幕データのみが含まれている必要があります。データは、フォーム形式にエンコードされてはなりません。

POSTの本文には、字幕データのテキストが含まれます。改行については、字幕テキストで\n(0x0D)を使用できます。

例:

レスポンスコード

HTTP POSTは、次のレスポンスコードを返す場合があります。

      

レスポンスコード説明
405

許可されていないメソッドです。POSTではありません。

 
400

不正なリクエストです。ミーティングは開始されていません。

 
403

許可されていません。&seqクエリパラメータが存在しないか、&id、&signature、&expireまたは&nsが存在しないことに起因している可能性があります。

 

リクエストの再試行

Zoomでは、すべてのコードを再試行することをおすすめします。これには、上記のレスポンスコード405、400、403に加えて、408リクエストタイムアウト、500内部サーバーエラー、502不正なゲートウェイ、503サービス利用不可、504ゲートウェイタイムアウトなどの追加のコードが含まれます。

すべてのHTTP POSTリクエストは、タイムアウトで実行する必要があります。リクエストがタイムアウトした場合、再試行する必要があります。

リクエストを再試行する場合は、ランダム化されたバイナリ指数バックオフを使用します。

[0..100] ミリ秒の間のランダムな待ち時間と取ってから再試行します。失敗した場合は、[0..200] ミリ秒の間のランダムな待ち時間と取ってから再試行します。失敗した場合は、[0..400] ミリ秒の間のランダムな待ち時間と取ってから再試行し、その後も同様に続けます。次の字幕パケットへの移行が実行されるまで再試行してください(約5秒後)。

HTTP POSTから返されるタイムスタンプ

タイムスタンプ値は、POST 戻り本文に存在し、POSTが処理された時間に対応します。サーバーを駆動するクライアントのローカルクロックを修正するために使用できます。ローカルクロックの同期が不十分な場合が多いため、Zoomではこの値を使用することを強くおすすめします。

返されるタイムスタンプの例:  2012-12-24T00:00:06.873

POSTの例

POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=41 
Host: wmcapi.zoom.us:80
Accept: */*
Content-Type: text/plain
Content-Length: 11
I'M SENDING  
POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=42
Host: wmcapi.zoom.us:80
Accept: */*
Content-Type: text/plain
Content-Length: 18
SEVERAL CAPTIONS.\n