Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

追加の音声トラックを付ける

最終更新 Markdown で表示Agent セットアップ

追加の音声トラックを付ける前に、動画をアップロードしておく必要があります。次の 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
追加音声トラックを追加したときのレスポンス例json
{
 "result": {
   "uid": "<AUDIO_UID>",
   "label": "Example Audio Label",
   "default": false
   "status": "queued"
 },
 "success": true,
 "errors": [],
 "messages": []
}

uid は音声トラックを一意に識別し、編集や削除に使えます。操作手順は以降を参照してください。

default フィールドは、プレーヤーでその音声トラックをデフォルト再生するかどうかを示します。追加の音声トラックの defaultfalse ですが、以降の手順で編集できます。

status フィールドは、音声トラックのアップロードとエンコードが成功すると ready になります。この過程でエラーが起きると、ステータスは error になります。

HTTP でアップロードする

HTTP リクエストを送り、音声ファイルを file という名前の入力として含めます。

音声ファイルのアップロードは 200 MB を超えられません。これより大きい場合は、アップロード前に圧縮してください。

フォーム入力の label は必須で、指定した動画のほかの音声トラックのラベルと重複しないようにしてください。

cURL の -F フラグは、content-type ヘッダーを自動設定し、audio_file.mp3file というフォーム入力に対応付けます。

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
追加音声トラックを追加したときのレスポンス例json
{
 "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
動画に関連する音声トラックを取得したときのレスポンス例json
{
  "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>

音声トラックの defaulttrue にすると、同じ動画のほかの音声トラックの defaultfalse になります。

動画に関連する音声トラックを編集したときのレスポンス例json
{
  "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 フィールドに項目がある場合、音声トラックは削除されていません。

音声トラックを削除したときのレスポンス例json
{
  "result": "ok",
  "success": true,
  "errors": [],
  "messages": []
}

役に立ちましたか?