API для управления Хранилищем
Общая информация
В этом разделе описаны методы API для работы с хранилищем, задачами транскодирования и CDN ресурсом для раздачи файлов.
Все ответы, включая ошибки, возвращаются в формате JSON.
Важно
- Среди приведённых вызовов API есть метод получения пары ключей от S3 хранилища. Для работы с файлами в хранилище (загрузка, перемещение, удаление) следует использовать стандартный S3-интерфейс с этими ключами.
-
По завершении транскодирования файлы результата сохраняются в 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
Порядок формирования
- Выделите общую часть URL (домен):
https://test.a.trbcdn.net/
- Возьмите пути к файлам без расширения и перечислите их через запятую.
Запятая также ставится в начале и в конце списка:,file,cdnsystem/file_240p_1763387791,cdnsystem/file_480p_1763387791,cdnsystem/file_360p_1763387791,
-
Добавьте расширение контейнера:
.mp4 -
Добавьте суффикс:
.urlset -
Добавьте суффикс протокола раздачи:
- для HLS —
/playlist.m3u8 - для MPEG-DASH —
/manifest.mpd
- для HLS —
Итоговый пример (HLS)
https://test.a.trbcdn.net/,file,cdnsystem/file_240p_1763387791,cdnsystem/file_480p_1763387791,cdnsystem/file_360p_1763387791,.mp4.urlset/playlist.m3u8
Полученная ссылка формирует адаптивный поток на основе набора исходного и транскодированных файлов.