Загрузка видео через 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-ссылка для загрузки в корневую директорию.

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

Все файлы, загруженные по этой ссылке, автоматически попадут в нужную папку и сохранят вашу структуру контента.
Формирование TUS-ссылки вручную
Если вам нужно сформировать ссылку программно (например, в мобильном приложении или скрипте), используйте следующий шаблон:
https://tus.boomstream.com/tus?code=КОД_ПРОЕКТА
Где взять код проекта
Код проекта находится в настройках: откройте настройки проекта, перейдите во вкладку «Интеграция 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. Статус обработки (конвертация, создание транскодов) можно отслеживать в карточке видео.
