Загрузка видео через TUS-клиент в Boomstream

Коротко о главном:
TUS-клиент позволяет загружать видео в Boomstream с возможностью возобновления при обрыве связи — это критично для больших файлов и нестабильных сетей. TUS-ссылку можно получить двумя способами: в настройках проекта (для загрузки в корень) или во вкладке «FTP/TUS» окна загрузки (для загрузки в конкретную папку). Ссылка формируется по шаблону https://tus.boomstream.com/tus?code=КОД_ПРОЕКТА, где код проекта берётся в разделе «Интеграция CMS».


Что такое TUS-протокол и зачем он нужен

TUS (resumable uploads) — это открытый протокол для возобновляемой загрузки файлов. В отличие от обычной HTTP-загрузки, TUS сохраняет прогресс и продолжает отправку с того же места после обрыва соединения.

Когда это особенно полезно:

  • Загрузка длинных видео (более 1 часа) и файлов в 4K-качестве;
  • Работа с нестабильным интернет-соединением;
  • Интеграция с мобильными приложениями и веб-сервисами;
  • Автоматическая загрузка через API без риска потери прогресса;
  • Параллельная отправка нескольких файлов.

Для более гибкой интеграции Boomstream предоставляет готовую TUS-ссылку, которую можно использовать в собственных приложениях, CMS и скриптах.


Где взять TUS-ссылку для загрузки

Ссылку можно получить двумя способами — в зависимости от того, куда нужно загрузить видео.

Вариант 1. Загрузка в корень проекта

Откройте настройки вашего проекта, перейдите во вкладку «Интеграция CMS» и найдите раздел «Форма загрузки файла». В этом блоке будет указана готовая TUS-ссылка для загрузки в корневую директорию.

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

Этот способ подходит, когда вам не важна структура папок и все видео попадают в общий список.

Вариант 2. Загрузка в конкретную папку проекта

Если нужно загрузить видео в определённую папку, перейдите в раздел «Видеофайлы», нажмите кнопку «Загрузить видео» и откройте крайнюю правую вкладку «FTP/TUS». В этом окне отобразится TUS-ссылка, привязанная к выбранной папке.

Получение TUS-ссылки для загрузки в папку проекта

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


Формирование TUS-ссылки вручную

Если вам нужно сформировать ссылку программно (например, в мобильном приложении или скрипте), используйте следующий шаблон:

https://tus.boomstream.com/tus?code=КОД_ПРОЕКТА

Где взять код проекта

Код проекта находится в настройках: откройте настройки проекта, перейдите во вкладку «Интеграция CMS» и скопируйте значение из раздела «Код проекта».

Расположение кода проекта в настройках интеграции CMS

Подставив этот код в шаблон, вы получите рабочую TUS-ссылку для загрузки в корень проекта.


Пример реализации на JavaScript

Ниже приведён интерактивный пример загрузки видео через TUS-клиент. Вы можете изучить исходный код и протестировать работу прямо в браузере.

В примере используется официальная библиотека tus-js-client, которая реализует протокол TUS для браузеров и Node.js.


Краткая сводка по навигации

Задача Где найти
Загрузка в корень проекта Настройки проекта, вкладка «Интеграция CMS», раздел «Форма загрузки файла»
Загрузка в папку проекта Раздел «Видеофайлы», кнопка «Загрузить видео», вкладка «FTP/TUS»
Код проекта для ссылки Настройки проекта, вкладка «Интеграция CMS», раздел «Код проекта»

Преимущества TUS перед обычной загрузкой

Критерий Обычная HTTP-загрузка TUS-протокол
Возобновление при обрыве Нет, начинается заново Да, с места обрыва
Большие файлы (10+ ГБ) Часто прерываются Стабильная загрузка
Нестабильная сеть Потеря прогресса Автоматический retry
Параллельная загрузка Ограничена Поддерживается
Интеграция через API Сложная Готовые библиотеки

Частые вопросы (FAQ)

Какие библиотеки TUS-клиента можно использовать с Boomstream?
Boomstream совместим с любыми стандартными TUS-клиентами: tus-js-client для браузера и Node.js, tus-python-client, tus-java-client, tus-dotnet-client и мобильные SDK. Все они работают по единому протоколу.

Есть ли ограничения на размер файла при загрузке через TUS?
TUS-протокол поддерживает файлы размером до 100 ГБ. Фактический лимит зависит от вашего тарифа в Boomstream. Для очень больших файлов рекомендуется разбивать контент на части.

Можно ли загружать несколько файлов одновременно через TUS?
Да, TUS поддерживает параллельную загрузку нескольких файлов. Каждый файл загружается по отдельному запросу с собственным прогрессом и возможностью возобновления.

Что произойдёт, если во время загрузки пропадёт интернет?
TUS-клиент автоматически сохранит прогресс и продолжит загрузку с места обрыва после восстановления соединения. Файл не придётся загружать заново.

Нужно ли указывать метаданные (название, теги) при TUS-загрузке?
Метаданные можно передать в заголовках запроса согласно спецификации TUS. Также их можно задать позже через API Boomstream после завершения загрузки файла.

Работает ли TUS-загрузка через прокси и фаерволы?
TUS использует стандартный HTTPS-протокол на порту 443, поэтому работает через большинство прокси-серверов и фаерволов. Проблемы могут возникнуть только при строгой фильтрации POST/PATCH-запросов.

Можно ли получить уведомление о завершении TUS-загрузки?
Да. Настройте вебхуки в разделе «Интеграция CMS» — Boomstream отправит POST-запрос на ваш сервер после успешной обработки загруженного файла.

Чем TUS отличается от FTP-загрузки в Boomstream?
FTP подходит для пакетной загрузки множества файлов, но не поддерживает возобновление при обрыве связи. TUS оптимален для больших одиночных файлов и нестабильных сетей. Оба способа доступны во вкладке «FTP/TUS».

Поддерживается ли TUS-загрузка из мобильных приложений?
Да, существуют готовые TUS-клиенты для iOS (TUSKit) и Android (tus-android-client). Используйте их для загрузки видео, снятых на камеру смартфона, с автоматическим возобновлением при переключении между Wi-Fi и мобильной сетью.

Как проверить, что TUS-загрузка прошла успешно?
После завершения загрузки файл появится в разделе «Видеофайлы» личного кабинета Boomstream. Статус обработки (конвертация, создание транскодов) можно отслеживать в карточке видео.