コンテンツにスキップ

キャプションの追加

あなたのビデオライブラリにキャプションと字幕を追加します。

キャプションの追加または修正

ビデオにキャプションを追加する方法は2つあります:AIを使用して生成するか、キャプションファイルをアップロードすることです。

ビデオのキャプションを作成または修正するには、Cloudflare API Tokenが必要です。

<LANGUAGE_TAG>BCP 47形式に従う必要があります。便利なことに、最も一般的な言語コードはこの文書の下部に提供されています。 追加する言語が表に含まれていない場合は、言語コードのリストを維持しているIANAレジストリで値を見つけることができます。送信する値を見つけるには、言語を検索してください。以下は、トルコ語の字幕の送信値を探すときのIANAからの例値です:

Terminal window
%%
Type: language
Subtag: tr
Description: Turkish
Added: 2005-10-16
Suppress-Script: Latn
%%

Subtagコードはtrの値を示しています。これは、HTTPリクエストの最後にlanguageとして送信する必要がある値です。

提供された言語からラベルが生成されます。ラベルはプレーヤーでユーザーが選択できるように表示されます。たとえば、trが送信された場合、ラベルTürkçeが作成されます。deが送信された場合、ラベルDeutschが作成されます。

キャプションの生成

生成されたキャプションは、人工知能に基づく音声からテキストへの技術を使用して、ビデオのためのクローズドキャプションを生成します。

キャプションを生成する前に、ビデオをアップロードし、準備が整っている必要があります。 以下の例URLでは、ビデオのUIDが<VIDEO_UID>として参照されます。ビデオがアップロード後に準備が整ったときにWebhookを受信するには、こちらの指示に従ってください。

現在、英語のキャプション生成のみがサポートされています。

ビデオには複数の言語のキャプションを含めることができますが、各言語はユニークでなければなりません。 たとえば、ビデオには英語、フランス語、ドイツ語のキャプションが関連付けられることがありますが、2つの英語のキャプションを持つことはできません。すでにビデオに英語のキャプションをアップロードしている場合は、英語の生成キャプションを作成する前にそれを削除する必要があります。キャプションを削除する方法についての指示は以下にあります。

<LANGUAGE_TAG>はBCP 47形式に従う必要があります。英語のタグはenです。 タグに地域を指定することもでき、たとえばen-GBとすると、キャプションのラベルにBritish Englishが表示されます。

Terminal window
curl -X POST \
-H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/captions/<LANGUAGE_TAG>/generate

例のレスポンス:

{
"result": {
"language": "en",
"label": "English (auto-generated)",
"generated": true,
"status": "inprogress"
},
"success": true,
"errors": [],
"messages": []
}

結果は、キャプション生成の進行状況を示すstatusを提供します。
ステータスは3つあります:inprogress、ready、error。ラベルには(auto-generated)が適用されることに注意してください。

生成されたキャプションが準備が整うと、自動的にビデオプレーヤーとビデオマニフェストに表示されます。

キャプションがエラーステートに入った場合は、最初にそれを削除し、その後上記のエンドポイントを使用して再生成を試みることができます。 削除に関する指示は以下に提供されています。

ファイルのアップロード

生成されたキャプションを編集する場合、2つの変更に注意してください:生成されたフィールドはfalseに変更され、ラベルの(auto-generated)部分は削除されます。

キャプションファイルを作成または置き換えるには:

Terminal window
curl -X PUT \
-H 'Authorization: Bearer <API_TOKEN>' \
-F file=@/Users/mickie/Desktop/example_caption.vtt \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/captions/<LANGUAGE_TAG>

キャプションの追加または修正に対する例のレスポンス

{
"result": {
"language": "en",
"label": "English",
"generated": false,
"status": "ready"
},
"success": true,
"errors": [],
"messages": []
}

ビデオに関連付けられたキャプションのリスト

ビデオに関連付けられたキャプションを表示するには。 この結果リストには、inprogressおよびerrorステータスの生成されたキャプションも含まれます:

Terminal window
curl -H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/captions

ビデオに関連付けられたキャプションを取得するための例のレスポンス

{
"result": [
{
"language": "en",
"label": "English (auto-generated)",
"generated": true,
"status": "inprogress"
},
{
"language": "de",
"label": "Deutsch",
"generated": false,
"status": "ready"
}
],
"success": true,
"errors": [],
"messages": []
}

キャプションファイルの取得

WebVTTキャプションファイルを表示するには、GETリクエストを行うことができます:

Terminal window
curl \
-H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/captions/<LANGUAGE_TAG>/vtt

ビデオのキャプションファイルを取得するための例のレスポンス

Terminal window
WEBVTT
1
00:00:00.000 --> 00:00:01.560
これは例の
2
00:00:01.560 --> 00:00:03.880
WebVTTキャプションレスポンスです。

キャプションの削除

ビデオに関連付けられたキャプションを削除するには:

Terminal window
curl -X DELETE \
-H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/captions/<LANGUAGE_TAG>

errorsレスポンスフィールドにエントリがある場合、キャプションは削除されていません。

キャプションを削除するための例のレスポンス

{
"result": "",
"success": true,
"errors": [],
"messages": []
}

制限事項

  • ビデオは、キャプションを添付する前にアップロードされている必要があります。以下の例URLでは、ビデオのIDがmedia_idとして参照されます。
  • ストリームはWebVTT形式のキャプションファイルのみをサポートしています。異なる形式のキャプションファイルがある場合は、アップロードする前にツールを使用してファイルをWebVTTに変換してください。
  • ビデオには複数の言語のキャプションを含めることができますが、各言語はユニークでなければなりません。たとえば、ビデオには英語、フランス語、ドイツ語のキャプションが関連付けられることがありますが、2つのフランス語のキャプションを持つことはできません。
  • 各キャプションファイルのサイズは10 MBに制限されています。より大きなファイルをアップロードする必要がある場合は、サポートに連絡してください。

最も一般的な言語コード

言語コード言語
zh標準中国語
hiヒンディー語
esスペイン語
en英語
arアラビア語
ptポルトガル語
bnベンガル語
ruロシア語
ja日本語
deドイツ語
paパンジャブ語
jvジャワ語
ko韓国語
viベトナム語
frフランス語
urウルドゥー語
itイタリア語
trトルコ語
faペルシャ語
plポーランド語
ukウクライナ語
myビルマ語
thタイ語