ミーティングのホストは、字幕 URL をサードパーティの字幕サービスに提供することで、字幕を Zoom のミーティングに追加できます。 字幕 URL を使用することで、サードパーティ サービスによって字幕ソフトウェアから Zoom のミーティングに字幕がストリーミングされます。 この記事では、Zoom が字幕データを受信するために使用する形式を定義します。
Zoom で字幕を使用するのが初めての場合は、字幕の概要についてご覧ください。
この記事の内容:
接続を確立するためには、ホストまたは共同ホストが字幕 URL をコピーし、Zoom の字幕 REST API に対応する字幕ソフトウェアに入力する必要があります。 または、ホストが URL をコピーして、ミーティング内チャットを使用して、他のユーザーに送信することもできます。
Zoom では、字幕データが POST の連続したシーケンスとして受信されることを想定されています。 すべてのミーティング セッションとブレイクアウト ルーム セッションには特殊 URL が存在します(ブレイクアウト ルーム セッションには追加の subconfid パラメータが存在します)。 POST の URL によって、データの送り先(字幕が関連付けられているミーティング)が指定されます。
次のパラメータをすべての POST の URL に追加する必要があります。
名前 | 説明 | フラグメントの例 |
seq |
すべての POST に含まれている必要があります。 すべての字幕データ POST のカウンターです。 カウンターは、新しい字幕データの POST 間に 1 つずつ増加する必要があります(再試行の場合は増加してはいけません)。 最後に送信が成功した seq 番号は、API(/closedcaption/seq [GET])を経由して取得できます。 | &seq |
lang |
例:
| &lang=en-US |
すべての 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 秒後)。
タイムスタンプ値は、POST 戻り本文に存在し、POST が処理された時刻に対応します。 サーバーを駆動するクライアントのローカル クロックを修正するために使用できます。 ローカルクロックの同期が不十分な場合が多いため、Zoom ではこの値を使用することを強くおすすめします。
返されるタイムスタンプの例: 2012-12-24T00:00:06.873
POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=41&lang=en-US 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&lang=en-US Host: wmcapi.zoom.us:80 Accept: */* Content-Type: text/plain Content-Length: 18 SEVERAL CAPTIONS.\n