Видео · Стриминг

RFTube: YouTube без VPN — свой стриминговый стек с нуля

Задача звучала просто: сделать так, чтобы видео открывалось и не тормозило. За этим оказался полный стек — от подбора инфраструктуры до собственного плеера и канала доставки обновлений в обход сторов.

CPU ≈ 0
нагрузка на перемотке — без перекодирования
1080p
качество 1:1 с источником
AppGallery
приложение прошло проверку и опубликовано
0.4 МБ
вес лендинга после оптимизации (было 2.6 МБ)

Открыть rftube.app

Экран приложения RFTube с открытым видеоГлавный экран RFTube на телефонеЭкран скачанных видео в RFTube

Плеер: до 1080p, перемотка в любую точку без перекодирования. · Подписки без рекламных вставок. · Скачанное для офлайна.

Проблема

Видео на устройстве пользователя не воспроизводится или сваливается в 144p. Интерфейс сервиса при этом открывается — значит, дело в потоке с видеофайлами, а не в сети целиком. Решения на стороне пользователя (настройки, переустановка, смена браузера) на этот поток не влияют.

Что сделали

Инженерные решения, которые переиспользуются

Движок перемотки, схема доставки, автопубликация в стор и оптимизатор лендингов — общие для обоих наших продуктов. Один и тот же код обслуживает два приложения с разной аудиторией: детское и взрослое, из одной кодовой базы собираются разные варианты.

Стек

React NativeNode.jsHLS/ffmpegSQLiteCaddyEASAppGallery API

Нужен похожий проект?

Берём задачу целиком: продукт, приложение, backend, инфраструктуру и публикацию — и поддерживаем после запуска.

Обсудить проект

Другие кейсы