INTEGRITY Документация

Добавление дополнительных аудиодорожек

Прежде чем добавлять дополнительные аудиодорожки к видео, его нужно загрузить. В примерах URL-адресов ниже UID видео обозначается как VIDEO_UID.

Чтобы добавить аудиодорожку к видео, API-токен Cloudflare ↗ обязательно.

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 поле указывает, будет ли звуковая дорожка воспроизводиться в плеере по умолчанию. Дополнительные звуковые дорожки имеют false статус по умолчанию, но его можно изменить, следуя инструкциям ниже.

status поле изменится на ready после успешной загрузки и кодирования аудиодорожки. Если в процессе произойдет ошибка, статус будет обозначать error.

Загрузка по HTTP

Выполните HTTP-запрос и добавьте аудиофайл в качестве входных данных с именем file.

Размер загружаемого аудиофайла не должен превышать 200 МБ. Если файл больше, сожмите его перед загрузкой.

Поле формы 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": []
}