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

API для управления Хранилищем

Общая информация

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

Все ответы, включая ошибки, возвращаются в формате JSON.

Важно

  1. Среди приведённых вызовов API есть метод получения пары ключей от S3 хранилища. Для работы с файлами в хранилище (загрузка, перемещение, удаление) следует использовать стандартный S3-интерфейс с этими ключами.
  2. По завершении транскодирования файлы результата сохраняются в S3-хранилище и доступны по префиксу cdnsystem/. Все объекты, созданные в ходе транскодирования, имеют ключи, начинающиеся с cdnsystem/, что можно видеть при работе через стандартный интерфейс S3.

    В интерфейсе личного кабинета префикс cdnsystem/ не отображается - вместо этого отображаются «теги качеств» у исходных файлов.

API управления Хранилищем

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

API управления CDN ресурсом раздачи

  • Обязательные заголовки: CDN-AUTH-TOKEN (авторизационный токен, см. Авторизация)
  • Content-Type успешного ответа: application/json

Формирование ссылок раздачи

Для медиахранилища предоставляется CDN-домен раздачи. Доступ к объектам возможен как через интерфейс личного кабинета, так и через S3-совместимый интерфейс. Все объекты, размещённые в хранилище, могут раздаваться через CDN.

Базовая ссылка на файл

Ссылка раздачи формируется из CDN-домена и ключа объекта в S3.

Формат: https://<cdn_domain>/<path>

где:

  • <cdn_domain> — CDN-домен раздачи
  • <path> — ключ объекта в S3-хранилище

Пример: https://cdn.example.com/video/file.mp4

Раздача MP4 с конвертацией в HLS или MPEG-DASH

MP4-файлы могут быть преобразованы "на лету" в потоковые форматы HLS и MPEG-DASH.
Для этого к ссылке на MP4-файл добавляется соответствующий суффикс:

  • для HLS - /playlist.m3u8
  • для MPEG-DASH - /manifest.mpd

При обращении по такой ссылке исходный MP4-файл будет отдаваться в выбранном потоковом формате.

Примеры:

HLS:

https://<cdn_domain>/<path/to/file.mp4>/playlist.m3u8

MPEG-DASH:

https://<cdn_domain>/<path/to/file.mp4>/manifest.mpd

Важно

Мы не поддерживаем контейнер Fragmented MP4 для просмотра с использованием стриминговых протоколов. Проверить контейнер можно командой: MP4Box -info test.mp4

Результаты транскодирования

Результаты транскодирования сохраняются в S3-хранилище с префиксом cdnsystem/.

Эти объекты отображаются при работе через S3-интерфейс и доступны для раздачи через CDN наравне с исходными файлами.

Формирование SMIL ссылки для адаптивного стриминга

Из исходного файла и набора транскодированных файлов можно сформировать SMIL ссылку для адаптивной раздачи.

Исходные ссылки

https://test.a.trbcdn.net/file.mp4
https://test.a.trbcdn.net/cdnsystem/file_240p_1763387791.mp4
https://test.a.trbcdn.net/cdnsystem/file_480p_1763387791.mp4
https://test.a.trbcdn.net/cdnsystem/file_360p_1763387791.mp4

Порядок формирования

  1. Выделите общую часть URL (домен):
    https://test.a.trbcdn.net/
    
  2. Возьмите пути к файлам без расширения и перечислите их через запятую.
    Запятая также ставится в начале и в конце списка:
    ,file,cdnsystem/file_240p_1763387791,cdnsystem/file_480p_1763387791,cdnsystem/file_360p_1763387791,
    
  3. Добавьте расширение контейнера: .mp4

  4. Добавьте суффикс: .urlset

  5. Добавьте суффикс протокола раздачи:

    • для HLS — /playlist.m3u8
    • для MPEG-DASH — /manifest.mpd

Итоговый пример (HLS)

https://test.a.trbcdn.net/,file,cdnsystem/file_240p_1763387791,cdnsystem/file_480p_1763387791,cdnsystem/file_360p_1763387791,.mp4.urlset/playlist.m3u8

Полученная ссылка формирует адаптивный поток на основе набора исходного и транскодированных файлов.