Перейти к содержанию

API для работы с хранилищем $

Описание

В этом разделе описаны методы API для создания, удаления и изменения файлов и папок в вашем хранилище, а также для создания и получения задач транскодирования.

Общие сведения

  • Обязательные заголовки: CDN-AUTH-TOKEN (авторизационный токен, см. Авторизация)
  • Content-Type ответа: application/json
  • Все ответы, включая ошибки, возвращаются в общей структуре: всегда (за исключением 204-го кода ответа) возвращается ключ status; в случае успешного ответа возвращается ключ data с данными ответа, где это применимо, в противном случае иногда возвращается ключ description с описанием ошибки.
  • Возможные значения ключа status:

    Код ответа Значение status
    200, 201 Completed
    202 Partially completed
    4xx, 5xx Ошибочный статус

Общие ошибки

В ответ на любой из запросов может вернуться одна из следующих ошибок:

Код ответа status description Описание
401 Unauthorized Invalid token Не передан заголовок с токеном
403 Forbidden No domain created Хранилище не инициализировано*
403 Forbidden Invalid account В URL-е был указан неверный аккаунт
404 Not Found - Неверный URL
405 Method Not Allowed Method is not allowed Отказано в доступе к действию**
500 Internal Server Error - Внутренняя ошибка сервера

Обратите внимание

* - для инициализации хранилища аккаунта необходимо сделать POST-запрос "Создать файл/папку" по любому пути
** - одна из возможных причин - недействительный токен (см. Авторизация)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/files'

Пример неуспешного ответа

{
  "status": "Unauthorized",
  "description": "Invalid token"
}

Работа с файлами и папками

Получить файл/папку

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/files<path>

  • Тип запроса: GET
  • Доступные querystring-параметры (актуальны только при запросе папки):

    Название Допустимые значения Описание
    dirs_only пустое значение/1/true/0/false Вернуть только дочерние папки
    files_only пустое значение/1/true/0/false Вернуть только дочерние файлы
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о сущности -
    404 status: "Not Found" Сущность по указанному пути не найдена
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)
  • Формат данных о сущности (файле или папке):

    Ключ Описание
    id Идентификатор
    name Название
    path Полный путь
    is_dir Является ли сущность папкой
    size Размер в байтах
    content_type Content-Type файла
    create_time timestamp создания
    change_time timestamp последнего изменения
    expiration_time timestamp будущего удаления файла
    download_url Ссылка для загрузки файла
    hls_url Ссылка для просмотра файла в HLS (только для MP4-файлов)
    mpeg_dash_url Ссылка для просмотра файла в MPEG-DASH (только для MP4-файлов)
    contents Дочерние элементы папки

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/files' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "dirs_only": false,
  "files_only": false,
  "data": {
    "id": "606ef5635edc39a2f2832b7d",
    "name": "testaccount",
    "path": "/",
    "is_dir": true,
    "status": "",
    "size": 0,
    "content_type": "",
    "description": "12884901888",
    "create_time": 0,
    "change_time": 1641804692,
    "download_url": "",
    "contents": [
      {
        "id": "619e2531bc9fae0001083968",
        "name": "ansi_scte-35-2019a-1582645390859.pdf",
        "path": "/ansi_scte-35-2019a-1582645390859.pdf",
        "is_dir": false,
        "status": "ok",
        "size": 1633004,
        "content_type": "application/pdf",
        "description": "",
        "create_time": 1637754161,
        "change_time": 1637754161,
        "download_url": "https://prefix.a.trbcdn.net/cdn/testaccount/ansi_scte-35-2019a-1582645390859.pdf"
      },
      {
        "id": "617802e6cd0b6b1be6948e2b",
        "name": "road - 11018.mp4",
        "path": "/road - 11018.mp4",
        "is_dir": false,
        "status": "ok",
        "size": 54419074,
        "content_type": "video/mp4",
        "description": "",
        "create_time": 1635255020,
        "change_time": 1635255024,
        "download_url": "https://prefix.a.trbcdn.net/cdn/testaccount/road%20-%2011018.mp4",
        "hls_url": "https://prefix.a.trbcdn.net/cdn/testaccount/road%20-%2011018.mp4/playlist.m3u8",
        "mpeg_dash_url": "https://prefix.a.trbcdn.net/cdn/testaccount/road%20-%2011018.mp4/manifest.mpd"
      }
    ],
    "paging": {
      "count": 2,
      "count_on_page": 2
    }
  }
}

Пример неуспешного ответа

{
  "status": "Unprocessable Entity",
  "description": {
    "files_only": [
      "Not a valid boolean."
    ]
  }
}

Создать файл/папку

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/files<path>

  • Тип запроса: POST
  • Content-Type тела запроса: multipart/form-data (в случае создания папки допустим application/x-www-form-urlencoded)
  • Доступные параметры (взаимоисключающие):

    Название Допустимые значения Описание
    file бинарное содержимое файла Содержимое создаваемого файла
    dir пустое значение/1/true/0/false Указание создать директорию
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 status: "Completed" Папка уже существует*
    201 status: "Completed" Сущность успешно создана
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)

    Обратите внимание

    * - в случае повторного запроса на создание файла к его названию добавится числовой суффикс

Пример запроса на загрузку файла

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/files/data.csv' -F "file=@data.csv" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}

Пример неуспешного ответа

{
  "status": "Unauthorized",
  "description": "Invalid token"
}

Изменить файл/папку

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/files<path>

  • Тип запроса: PATCH
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    Название Допустимые значения Описание
    name Валидная строка Новое название сущности
    dir Валидная строка Путь новой родительской директории

    Валидная строка

    Значение name может содержать любые символы, за исключением :, ?, *, \, /, " и |.
    Пример: новый файл (1).mp4.
    Значение dir может содержать любые символы, за исключением :, ?, *, \, " и |.
    Пример: /new parent folder (1).

  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 status: "Completed" Сущность успешно изменена
    404 status: "Not Found" Сущность по указанному пути не найдена
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/files/test_folder' -X PATCH --data '{"name": "test_folder2", "dir": "/new_parent_folder"}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}

Пример неуспешного ответа

{
  "status": "Unprocessable Entity",
  "description": [
    "No data provided"
  ]
}

Удалить файл/папку

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/files<path>

  • Тип запроса: DELETE
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    204 Пустой ответ Сущность успешно удалена
    404 status: "Not Found" Сущность по указанному пути не найдена
    423 status: "Locked" Сущность заблокирована*

    Обратите внимание

    * - либо сущность является файлом, в который всё ещё ведётся запись, либо папкой, содержащей подобный файл (см. "DVR и запись потока")

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/files/test_folder' -X DELETE -H "CDN-AUTH-TOKEN: $TOKEN"

Пример неуспешного ответа

{
  "status": "Locked",
  "description": "Entity is locked"
}

Работа с пространством

Получить информацию о выделенном и занятом пространстве

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/space

  • Тип запроса: GET
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о пространстве -
  • Формат данных о пространстве:

    Ключ Описание
    total Выделенное пространство (в байтах)
    used Использованное пространство (в байтах)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/space' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": {
    "total": 12884901888,
    "used": 124670691
  }
}

Изменить объём выделенного пространства $

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/space

  • Тип запроса: PATCH
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    Название Допустимые значения Описание
    amount Целые числа Новый объём выделенного пространства (в байтах)
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 status: "Completed" Объём выделенного пространства успешно изменён
    202 status: "Partially completed" Заявка на изменение выделенного пространства отправлена менеджеру
    400 description: "Amount is too big" Передано слишком большое значение amount
    400 description: "Amount is too small" Передано значение amount меньше, чем объём занятого пространства
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/space' -X PATCH --data '{"amount": 12884901889}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}

Пример неуспешного ответа

{
  "status": "Bad Request",
  "description": "Amount is too small"
}

Работа с задачами на транскодирование

Получить все задачи на транскодирование

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/transcode

  • Тип запроса: GET
  • Доступные querystring-параметры:

    Название Допустимые значения Описание
    start Валидные дата и время Начало интервала фильтра задач*
    end Валидные дата и время Конец интервала фильтра задач*

    Валидные дата и время

    Значение даты и времени (start, end) передается в формате YYYY-MM-DDThh:mm:ssZ в UTC.
    Пример: 2021-12-30T12:30:05Z

    Обратите внимание

    * - задачи фильтруются по моменту их создания

  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о задачах -
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)
  • Формат данных о задачах:

    Ключ Описание
    id Идентификатор
    status Статус выполнения
    description Описание статуса

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/transcode?start=2021-10-10T00:00:00Z&end=2022-10-10T00:01:02Z' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "end": "2022-10-10T00:01:02Z",
  "start": "2021-10-10T00:00:00Z",
  "data": [
    {
      "id": "934136bf48c2412f9f1bb853f92a4c8a",
      "status": "Completed",
      "description": "Encoding video success."
    },
    {
      "id": "ba27bc62e9da46e48a406adabc50aec8",
      "status": "Completed",
      "description": "Encoding video success."
    }
  ]
}

Получить конкретную задачу на транскодирование

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/transcode/<task_id>

  • Тип запроса: GET
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о задаче -
    404 status: "Task not found" Задача с указанным ID не найдена
    422 status: "Unprocessable Entity" Ошибка в значении task_id (см. description)
  • Формат данных о задачах:

    Ключ Описание
    id Идентификатор
    status Статус выполнения
    description Описание статуса

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/transcode/ba27bc62e9da46e48a406adabc50aec8' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": {
    "id": "ba27bc62e9da46e48a406adabc50aec8",
    "status": "Completed",
    "description": "Encoding video success."
  }
}

Получить пресеты транскодирования

Пресеты транскодирования - это наборы настроек, описывающие параметры видео- и аудиопотоков выходного файла процесса транскодирования.

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/transcode/presets

  • Тип запроса: GET
  • Доступные querystring-параметры:

    Название Допустимые значения Значение по умолчанию Описание
    object_id Валидная строка - id объекта
    upscale 1/true/0/false false Включить пресеты с разрешением больше исходного
    used 1/true/0/false true Включить пресеты, качества которых уже использованы

    Обратите внимание

    Параметры upscale и used работают только при указании object_id

  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о пресетах -

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/transcode/presets' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": {
    "presets": [
      {
        "id": "5676a27cf9cb101634000002",
        "name": "Fixed iframes: 1080p - watermark",
        "container": "mp4",
        "video": {
          "codec": "H.264",
          "bit_rate": "5400",
          "fps": "30",
          "keyframes_max_dist": "150",
          "max_width": "1920",
          "max_height": "1080",
          "profile": "baseline",
          "level": "4",
          "sizing_policy": "ShrinkToFit",
          "padding_policy": "NoPad",
          "aspect_ratio": "auto"
        },
        "audio": {
          "codec": "AAC",
          "bit_rate": "160",
          "sample_rate": "44100",
          "channels": "2"
        },
        "watermarks": {
          "BottomLeft": {
            "horizontal_align": "Left",
            "horizontal_offset": "10%",
            "vertical_align": "Bottom",
            "vertical_offset": "10%",
            "height": "",
            "width": "",
            "max_height": "10%",
            "max_width": "10%",
            "opacity": "100",
            "sizing_policy": "ShrinkToFit"
          },
          "BottomRight": {
            "horizontal_align": "Right",
            "horizontal_offset": "10%",
            "vertical_align": "Bottom",
            "vertical_offset": "10%",
            "height": "",
            "width": "",
            "max_height": "10%",
            "max_width": "10%",
            "opacity": "100",
            "sizing_policy": "ShrinkToFit"
          },
          "Full": {
            "horizontal_align": "Left",
            "horizontal_offset": "0%",
            "vertical_align": "Top",
            "vertical_offset": "0%",
            "height": "",
            "width": "",
            "max_height": "100%",
            "max_width": "100%",
            "opacity": "100",
            "sizing_policy": "Fit"
          },
          "TopRight": {
            "horizontal_align": "Right",
            "horizontal_offset": "10%",
            "vertical_align": "Top",
            "vertical_offset": "10%",
            "height": "",
            "width": "",
            "max_height": "10%",
            "max_width": "10%",
            "opacity": "100",
            "sizing_policy": "ShrinkToFit"
          }
        },
        "standard": true,
        "tags": [
          "Popular 16:9"
        ]
      },
      ...
    ]
  }
}

Получить статистику по задачам на транскодирование

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/transcode/stats

  • Тип запроса: GET
  • Доступные querystring-параметры:

    Название Допустимые значения Описание
    start Валидные дата и время Начало интервала фильтра задач*
    end Валидные дата и время Конец интервала фильтра задач*

    Валидные дата и время

    Значение даты и времени (start, end) передается в формате YYYY-MM-DDThh:mm:ssZ в UTC.
    Пример: 2021-12-30T12:30:05Z

    Обратите внимание

    * - задачи фильтруются по моменту их создания

  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Статистика по задачам -
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)
  • Формат статистики по задачам:

    Ключ Описание
    transcode_operations Количество выполненных задач транскодирования
    transcode_minutes Длина транскодированных (выходных) файлов в минутах в разбивке по качествам (SD, HD)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/transcode/stats?start=2021-10-10T00:00:00Z&end=2022-10-10T00:01:02Z' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "end": "2022-10-10T00:01:02Z",
  "start": "2021-10-10T00:00:00Z",
  "data": {
    "transcode_operations": 12,
    "transcode_minutes": {
      "SD": 14,
      "HD": 5
    }
  }
}

Создать задачу на транскодирование $

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/transcode

  • Тип запроса: POST
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    Название Обязательный Значение по умолчанию Допустимые значения Описание
    object_id Да - ID файла Идентификатор файла, который нужно транскодировать
    presets Да/Нет Пустой список Список ID пресетов Пресеты, в которые нужно транскодировать исходный файл
    path Нет Папка исходного файла Валидная строка Путь, в который нужно поместить выходные файлы
    delete_original Нет false Boolean Удалить ли исходный файл после завершения задачи
    start Да/Нет 0 Целое число (секунда) Начало интервала исходного файла, который нужно транскодировать
    duration Да/Нет 0 Целое число (секунды) Длительность интервала исходного файла, который нужно транскодировать
    send_email Нет false Boolean Отправлять ли уведомление на почту о завершении задачи
    type Нет "" "video"/"" Сохранить результат как отдельный файл ("") или дополнительное качество исходного файла ("video")

    presets, start и duration

    presets становятся обязательными, если не указываются ни ненулевой start, ни ненулевой duration.
    start становится обязательным, если не указываются ни presets, ни ненулевой duration.
    duration становится обязательным, если не указываются ни presets, ни ненулевой start

    Валидная строка

    Валидность значения path определяется так же, как и значения dir в Изменить файл/папку

  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    201 task_id Задача успешно создана
    400 description: "Bad parameters" Не удалось создать задачу с переданными параметрами
    400 status: "Upscale presets", description: "These presets have higher resolution than the source object" Выбранные пресеты имеют более высокое разрешение, чем исходный файл
    404 description: "Object with object_id not found" Не удалось найти исходный файл по переданному идентификатору
    409 status: "Used presets", description: "These presets have qualities conflicting with existing ones" Выбранные пресеты предполагают конвертацию в качества, которые уже есть у файла
    422 status: "Unprocessable Entity" Ошибка в значениях параметров (см. description)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/transcode' -X POST --data '{"object_id": "617602e6cd0a6b1be6948e2b", "path": "/new_folder", "start": 5, "duration": 4, "send_email": true}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": {
    "task_id": "78e18299a591419fba61d7cab3ccf8b3"
  }
}

Работа с разными качествами видеофайлов

Общие ошибки

В ответ на любой из запросов этой категории может вернуться одна из следующих ошибок:

Код ответа status description Описание
404 Not Found File not found Файл с указанным в URL-е file_id не найден
404 Not Found Video not found Видео с указанным в URL-е video_id не найдено

Получить все качества видеофайла

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/videos/<file_id>

  • Тип запроса: GET
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Список качеств -
  • Формат данных о качестве:

    Ключ Описание
    id ID файла
    quality Название качества
    content_type Content-Type файла
    advanced Подробная информация о видео
    download_url Ссылка на скачивание файла
    hls_url Ссылка на просмотр нарезанного HLS
    mpeg_dash_url Ссылка на просмотр нарезанного MPEG-DASH

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/videos/6244ab500e47cf10cbbae4a1' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": [
    {
      "id": "6244ab500e47cf10cbbae4a0",
      "quality": "1080p",
      "content_type": "video/mp4",
      "size": 5636476,
      "advanced": {
        "audio_streams": [
          {
            "bit_rate": 256001,
            "channel_layout": "stereo",
            "channels": 2,
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "codec_name": "aac",
            "codec_type": "audio",
            "duration": 6.016,
            "index": 1,
            "language": "und",
            "sample_rate": 48000
          }
        ],
        "format": {
          "bit_rate": 7465531,
          "duration": 6.04,
          "format_long_name": "QuickTime / MOV",
          "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
          "nb_streams": 2
        },
        "subtitle_streams": [],
        "video_streams": [
          {
            "bit_rate": 7198823,
            "codec_name": "h264",
            "codec_type": "video",
            "codeclongname": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "display_aspect_ratio": "16:9",
            "duration": 6.04,
            "fps": 50,
            "height": 1080,
            "index": 0,
            "width": 1920
          }
        ]
      },
      "download_url": "https://prefix.a.trbcdn.net/_video_/6244ab500e47cf10cbbae4a0/6244ab500e47cf10cbbae4a0.mp4"
    }
  ]
}

Добавить качества к видеофайлу

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/videos/<file_id>

  • Тип запроса: POST
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    Название Допустимые значения Описание
    file_ids Список ID файлов Видеофайлы, которые нужно добавить к целевому файлу в виде качеств
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 status: "Completed" Видеофайлы успешно добавлены к целевому файлу
    422 status: "Unprocessable Entity" Ошибки в значении параметра (см. description)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/videos/6244ab500e47cf10cbbae4a1' -X POST --data '{"file_ids": ["6244ab500e47cf10cbbae4a2"]}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}

Пример неуспешного ответа

{
  "status": "Unprocessable Entity",
  "description": {
    "file_ids": {
      "0": ["Not a valid string."]
    }
  }
}

Удалить качества видеофайла

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/videos/<file_id>

  • Тип запроса: DELETE
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    Название Обязательный Значение по умолчанию Допустимые значения Описание
    ids Да - Список ID файлов Качества к удалению
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    204 status: "Completed" Качества успешно удалены
    400 description: "Wrong ids" Переданы некорректные ID файлов
    400 description: "Unable to delete all qualities" Нельзя удалить все качества
    422 status: "Unprocessable Entity" Ошибки в значении параметра (см. description)

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/videos/6244ab500e47cf10cbbae4a1' -X DELETE --data '{"ids": ["6244ab500e47cf10cbbae4a2"]}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}

Пример неуспешного ответа

{
  "status": "Unprocessable Entity",
  "description": {
    "ids": {
      "0": ["Not a valid string."]
    }
  }
}

Получить конкретное качество видеофайла

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/videos/<file_id>/<video_id>

  • Тип запроса: GET
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    200 Данные о качестве -
  • Формат данных о качестве:

    Ключ Описание
    id ID файла
    quality Название качества
    content_type Content-Type файла
    advanced Подробная информация о видео
    download_url Ссылка на скачивание файла
    hls_url Ссылка на просмотр нарезанного HLS
    mpeg_dash_url Ссылка на просмотр нарезанного MPEG-DASH

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/videos/6244ab500e47cf10cbbae4a1/6244ab500e47cf10cbbae4a0' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed",
  "data": {
    "id": "6244ab500e47cf10cbbae4a0",
    "quality": "1080p",
    "content_type": "video/mp4",
    "size": 5636476,
    "advanced": {
      "audio_streams": [
        {
          "bit_rate": 256001,
          "channel_layout": "stereo",
          "channels": 2,
          "codec_long_name": "AAC (Advanced Audio Coding)",
          "codec_name": "aac",
          "codec_type": "audio",
          "duration": 6.016,
          "index": 1,
          "language": "und",
          "sample_rate": 48000
        }
      ],
      "format": {
        "bit_rate": 7465531,
        "duration": 6.04,
        "format_long_name": "QuickTime / MOV",
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "nb_streams": 2
      },
      "subtitle_streams": [],
      "video_streams": [
        {
          "bit_rate": 7198823,
          "codec_name": "h264",
          "codec_type": "video",
          "codeclongname": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
          "display_aspect_ratio": "16:9",
          "duration": 6.04,
          "fps": 50,
          "height": 1080,
          "index": 0,
          "width": 1920
        }
      ]
    },
    "download_url": "https://prefix.a.trbcdn.net/_video_/6244ab500e47cf10cbbae4a0/6244ab500e47cf10cbbae4a0.mp4"
  }
}

Удалить качество видеофайла

URL: https://api.cdnvideo.ru/app/storage/v1/<your_account_name>/videos/<file_id>/<video_id>

  • Тип запроса: DELETE
  • Content-Type тела запроса: application/json
  • Возможные коды ответа:

    Код ответа Данные ответа Описание
    204 status: "Completed" Качество успешно удалено
    400 description: "Unable to delete the last quality" Нельзя удалить последнее качество

Пример запроса

curl 'https://api.cdnvideo.ru/app/storage/v1/testaccount/videos/6244ab500e47cf10cbbae4a1/6244ab500e47cf10cbbae4a0' -X DELETE -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "status": "Completed"
}