追加の音声トラックを付ける前に、動画をアップロードしておく必要があります。次の URL 例では、動画の UID を VIDEO_UID として示します。
動画に音声トラックを追加するには、Cloudflare API トークン ↗ が必要です。
API は、アップロードした音声ファイルの長さと動画の長さが一致しない場合でも、できるだけ処理します。ただし、動画と同じ長さの音声ファイルをアップロードすることを推奨します。音声ファイルが動画より長い場合、追加の音声トラックは動画の長さに合わせて切り詰められます。音声ファイルが動画より短い場合、音声トラックの末尾に無音を足して、動画の長さに合わせます。
音声ファイルがクラウドストレージバケットにある場合は、そのファイルの HTTP リンクを渡すだけで済みます。Stream がファイルを取得し、配信できるようにします。
label は必須で、指定した動画のほかの音声トラックのラベルと重複しないようにしてください。
curl -X POST \
-H 'Authorization: Bearer <API_TOKEN>' \
-d '{"url": "https://www.examplestorage.com/audio_file.mp3", "label": "Example Audio Label"}' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/audio/copy{
"result": {
"uid": "<AUDIO_UID>",
"label": "Example Audio Label",
"default": false
"status": "queued"
},
"success": true,
"errors": [],
"messages": []
}uid は音声トラックを一意に識別し、編集や削除に使えます。操作手順は以降を参照してください。
default フィールドは、プレーヤーでその音声トラックをデフォルト再生するかどうかを示します。追加の音声トラックの default は false ですが、以降の手順で編集できます。
status フィールドは、音声トラックのアップロードとエンコードが成功すると ready になります。この過程でエラーが起きると、ステータスは error になります。
HTTP リクエストを送り、音声ファイルを file という名前の入力として含めます。
音声ファイルのアップロードは 200 MB を超えられません。これより大きい場合は、アップロード前に圧縮してください。
フォーム入力の label は必須で、指定した動画のほかの音声トラックのラベルと重複しないようにしてください。
cURL の -F フラグは、content-type ヘッダーを自動設定し、audio_file.mp3 を file というフォーム入力に対応付けます。
curl -X POST \
-H 'Authorization: Bearer <API_TOKEN>' \
-F file=@/Desktop/audio_file.mp3 \
-F label='Example Audio Label' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/audio{
"result": {
"uid": "<AUDIO_UID>",
"label": "Example Audio Label",
"default": false
"status": "queued"
},
"success": true,
"errors": [],
"messages": []
}動画に追加した音声トラックを確認するには、次のようにします。
curl \
-H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/audio{
"result": {
"audio": [
{
"uid": "<AUDIO_UID>",
"label": "Example Audio Label",
"default": false,
"status": "ready"
},
{
"uid": "<AUDIO_UID>",
"label": "Another Audio Label",
"default": false,
"status": "ready"
}
]
},
"success": true,
"errors": [],
"messages": []
}この API は、動画アップロード時に付いている音声の情報は返しません。
追加音声トラックの default 状態または label を編集するには、次のようにします。
curl -X PATCH \
-H 'Authorization: Bearer <API_TOKEN>' \
-d '{"label": "Edited Audio Label", "default": true}' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/audio/<AUDIO_UID>音声トラックの default を true にすると、同じ動画のほかの音声トラックの default は false になります。
{
"result": {
"uid": "<AUDIO_UID>",
"label": "Edited Audio Label",
"default": true
"status": "ready"
},
"success": true,
"errors": [],
"messages": []
}動画に関連付けた追加音声トラックを削除するには、次のようにします。
curl -X DELETE \
-H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/<VIDEO_UID>/audio/<AUDIO_UID>default の音声トラックは削除できません。削除する前に、別の音声トラックを default に指定してください。
レスポンスの errors フィールドに項目がある場合、音声トラックは削除されていません。
{
"result": "ok",
"success": true,
"errors": [],
"messages": []
}