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

API для транскодирования в S3

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

В этом разделе описаны методы API для работы с задачами транскодирования в S3.

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

Обзор сервиса

Сервис предоставляет API для транскодирования и обрезки видеофайлов, хранящихся в S3-совместимых хранилищах

Он позволяет:

  • Изменять формат: адаптировать видео для веба и мобильных устройств.
  • Менять разрешение и битрейт: создавать легковесные версии "тяжелых" исходников (даунскейлинг).
  • Обрезать видео: вырезать нужные фрагменты.
  • Использовать пресеты: применять готовые шаблоны настроек для быстрой интеграции.

Сервис забирает исходный файл из вашего S3-бакета, обрабатывает его и складывает результат обратно в указанный S3-бакет.


Основные понятия

Задача (Task) — единица работы сервиса. Одна задача может включать обработку одного исходного файла в несколько выходных форматов (например, сделать из одного 4K-видео версии 1080p, 720p и превью).

Пресет (Preset) — сохраненный набор настроек транскодирования (разрешение, битрейт, кодек), который можно переиспользовать. Пресеты упрощают интеграцию, избавляя от необходимости передавать технические параметры в каждом запросе.

S3-Source / S3-Target — параметры подключения к хранилищу. * Source: откуда сервис скачивает оригинал. * Target: куда сервис загружает результат.


Принципы работы

Схема взаимодействия

  1. Инициация: Вы отправляете API-запрос на создание задачи, указывая доступ к исходному файлу и желаемые параметры (или пресет).
  2. Постановка в очередь: Сервис принимает задачу и возвращает task_id. Статус задачи становится pending.
  3. Обработка: Свободный воркер забирает задачу, скачивает файл из S3, производит транскодирование (статус processing).
  4. Завершение: Результат загружается в ваш S3-бакет. Статус меняется на completed (или failed при ошибке).

Типы операций

Тип операции Описание Применение
Транскодирование Полное перекодирование видеопотока с изменением разрешения, битрейта или кодека. Создание версий для разных устройств (720p, 1080p), оптимизация для Web.
Обрезка Вырезание фрагмента видео по временным меткам (from_s, duration). Создание тизеров, клипов, удаление лишнего начала/конца.

Технические ограничения

Для обеспечения стабильности работы действуют следующие лимиты:

  1. Поддерживаемые контейнеры:

    • На вход: MP4, MKV, AVI, MOV, FLV, WEBM.
    • На выход: MP4.
  2. Параметры видео:

    • Максимальное разрешение: 8294400 пикселей с максимальной длиной стороны 3840 (4K)
    • Максимальный битрейт: 50 Мбит/с (50000 kbps)
  3. Ограничения задачи:

    • Максимум 10 файлов результатов в рамках одной задачи (один исходник -> до 10 версий).

Рекомендации по работе

  1. Используйте пресеты: Это снижает вероятность ошибки при ручном вводе параметров битрейта и разрешения.
  2. Мониторинг: Регулярно опрашивайте статус задач
  3. Безопасность: Желательно используйте отдельные Access Key/Secret Key для сервиса транскодирования с правами только на чтение из исходного бакета и запись в целевой.

API для транскодирования в S3

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