API для транскодирования в S3
Общая информация
В этом разделе описаны методы API для работы с задачами транскодирования в S3.
Все ответы, включая ошибки, возвращаются в формате JSON.
Обзор сервиса
Сервис предоставляет API для транскодирования и обрезки видеофайлов, хранящихся в S3-совместимых хранилищах
Он позволяет:
- Изменять формат: адаптировать видео для веба и мобильных устройств.
- Менять разрешение и битрейт: создавать легковесные версии "тяжелых" исходников (даунскейлинг).
- Обрезать видео: вырезать нужные фрагменты.
- Использовать пресеты: применять готовые шаблоны настроек для быстрой интеграции.
Сервис забирает исходный файл из вашего S3-бакета, обрабатывает его и складывает результат обратно в указанный S3-бакет.
Основные понятия
Задача (Task) — единица работы сервиса. Одна задача может включать обработку одного исходного файла в несколько выходных форматов (например, сделать из одного 4K-видео версии 1080p, 720p и превью).
Пресет (Preset) — сохраненный набор настроек транскодирования (разрешение, битрейт, кодек), который можно переиспользовать. Пресеты упрощают интеграцию, избавляя от необходимости передавать технические параметры в каждом запросе.
S3-Source / S3-Target — параметры подключения к хранилищу. * Source: откуда сервис скачивает оригинал. * Target: куда сервис загружает результат.
Принципы работы
Схема взаимодействия
- Инициация: Вы отправляете API-запрос на создание задачи, указывая доступ к исходному файлу и желаемые параметры (или пресет).
- Постановка в очередь: Сервис принимает задачу и возвращает
task_id. Статус задачи становитсяpending. - Обработка: Свободный воркер забирает задачу, скачивает файл из S3, производит транскодирование (статус
processing). - Завершение: Результат загружается в ваш S3-бакет. Статус меняется на
completed(илиfailedпри ошибке).
Типы операций
| Тип операции | Описание | Применение |
|---|---|---|
| Транскодирование | Полное перекодирование видеопотока с изменением разрешения, битрейта или кодека. | Создание версий для разных устройств (720p, 1080p), оптимизация для Web. |
| Обрезка | Вырезание фрагмента видео по временным меткам (from_s, duration). |
Создание тизеров, клипов, удаление лишнего начала/конца. |
Технические ограничения
Для обеспечения стабильности работы действуют следующие лимиты:
-
Поддерживаемые контейнеры:
- На вход:
MP4,MKV,AVI,MOV,FLV,WEBM. - На выход:
MP4.
- На вход:
-
Параметры видео:
- Максимальное разрешение: 8294400 пикселей с максимальной длиной стороны 3840 (4K)
- Максимальный битрейт: 50 Мбит/с (50000 kbps)
-
Ограничения задачи:
- Максимум 10 файлов результатов в рамках одной задачи (один исходник -> до 10 версий).
Рекомендации по работе
- Используйте пресеты: Это снижает вероятность ошибки при ручном вводе параметров битрейта и разрешения.
- Мониторинг: Регулярно опрашивайте статус задач
- Безопасность: Желательно используйте отдельные Access Key/Secret Key для сервиса транскодирования с правами только на чтение из исходного бакета и запись в целевой.
API для транскодирования в S3
- Обязательные заголовки: CDN-AUTH-TOKEN (авторизационный токен, см. Авторизация)
- Content-Type ответа: application/json
- Все ответы, включая ошибки, возвращаются в общей структуре:
всегда (за исключением 204-го кода ответа) возвращается ключ
status; в случае успешного ответа возвращается ключdataс данными ответа, где это применимо, в противном случае иногда возвращается ключdescriptionс описанием ошибки.