На своём сервере · PHP 8.2+ · без шага Composer

Видеоплатформа,
которая правда ваша.

VideoHub - полноценный видеохостинг, который вы устанавливаете на собственный сервер: загрузка, перекодирование, адаптивный стриминг, каналы и модерация.

Никакая платформа не забирает долю вашего дохода, правила пишете не вы для кого-то другого, и между вашей аудиторией и вашими видео нет посредника. База данных и диск - ваши.

  • Адаптивный стриминг HLS
  • Арабский и RTL из коробки
  • Полная админ-панель
  • REST API в JSON

Что входит

Всё, что нужно видеосайту, в одном пакете

Не заготовка, которую надо достраивать. То, чего ждут от видеоплатформы, здесь уже есть.

Возобновляемая загрузка

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

Перекодирование FFmpeg

Каждая загрузка перекодируется в лестницу качеств, а вместе с ней создаются миниатюры и спрайты для перемотки.

Адаптивный HLS

Поток следует за скоростью зрителя, а не замирает, и качество можно зафиксировать вручную.

Лента Shorts

Вертикальная лента с пролистыванием для коротких видео - рядом с обычным плеером, а не вместо него.

Каналы и подписки

Баннеры, аватары, число подписчиков и персональная лента, чтобы аудитории было где собираться.

Сообщество и сообщения

Ветки комментариев с закреплением и сортировкой, посты сообщества, личные сообщения и уведомления в приложении и по почте.

Субтитры

Загружайте VTT или SRT к каждому видео либо позвольте Whisper сделать первый черновик и отредактируйте его.

API и встраивание

REST API в JSON с токенами разработчика для каждого пользователя и плеер для встраивания на другие сайты.

От загрузки до воспроизведения

Один файл на входе, все качества на выходе

По-настоящему сложная часть видеосайта начинается после того, как загрузка закончилась. VideoHub берёт её на себя.

1 Загрузка по частямПродолжается после обрыва связи
2 Перекодирование FFmpegЛестница качеств, миниатюры, спрайты
3 Упаковка в HLSСегменты, с опциональным режимом «только HLS»
4 Адаптивное воспроизведениеСледует за скоростью зрителя

Файлы хранятся на локальном диске или в любом хранилище, совместимом с S3, - переключается в настройках администратора.

В работе

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

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

Очередь модерации

Зрители жалуются на видео, жалобы приходят в одно место, и вы действуете, не заходя в базу данных.

Роли и права

Доступ по ролям с осторожными значениями по умолчанию, чтобы аккаунт модератора незаметно не стал администратором.

Управление видимостью

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

Журналы и резервные копии

Журнал действий и инструменты резервного копирования в панели: инцидент оставляет след, а у плохого дня есть путь назад.

Двухфакторная защита

TOTP с кодами восстановления, настраиваемая парольная политика, блокировка после попыток входа и поддержка CAPTCHA.

Вход через соцсети

Вход через Google и GitHub с подтверждением почты и выход со всех устройств с одного экрана.

Приватность зрителя

Скрытые лайки, подписки и плейлисты, скрытое число подписчиков и пауза истории просмотров и поиска.

Страницы и категории

Небольшая CMS для страниц условий, конфиденциальности и «о нас» и управление категориями, для которого не нужен разработчик.

Вид и язык

Он должен выглядеть как ваш сайт, а не как наш

Тема, логотип, фавиконка и картинка для соцсетей - это настройки, а не форк кода, и интерфейс изначально говорит больше чем на одном языке.

  • Тёмная и светлая темы
  • Полный арабский перевод
  • Настоящий RTL во всём интерфейсе
  • PWA со service worker
  • Карты сайта и robots.txt
  • Open Graph и карточки Twitter

Направление справа налево считается полноценным направлением, а не зеркалом, добавленным напоследок, - тот же стандарт, которого мы держимся на этом сайте.

Требования

Что нужно для работы

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

Требования VideoHub к серверу
КомпонентТребуетсяПримечания
PHP8.2 или новееРасширения: pdo_mysql, mbstring, openssl, json, ctype
База данныхMySQL 5.7+ или MariaDB 10.4+Пустая база данных и пользователь с полными правами на неё
Веб-серверApache или NginxApache нужен mod_rewrite и AllowOverride All; Nginx нужен PHP-FPM
FFmpegРекомендуетсяБез него загруженные файлы отдаются только в исходном формате
ХранилищеЛокальный диск или совместимое с S3Папка storage/ должна быть доступна для записи
Также рекомендуютсяgd, curl, fileinfoОбработка изображений, вход через соцсети и S3, определение типа загружаемого файла
ComposerНе нуженНи шага сборки, ни внешнего сервиса для старта

Комфортно на VPS; выделенный сервер оправдан, когда перекодирование идёт постоянно.

FAQ

Прежде чем устанавливать

Вопросы, на которые стоит ответить, прежде чем вести собственную видеоплатформу.

Что нужно на сервере, чтобы запустить VideoHub?

PHP 8.2 или новее с расширениями pdo_mysql, mbstring, openssl, json, ctype, а также MySQL 5.7+ или MariaDB 10.4+. Apache нужен mod_rewrite с AllowOverride All; Nginx нужна конфигурация PHP-FPM. Установщик проверяет каждое требование и доступность storage/ для записи прямо на первом экране - так что вы увидите любую проблему заранее.

Нужен ли Composer или внешний сервис?

Нет. VideoHub работает на обычном PHP, без шага Composer и без регистрации где-либо до первой загрузки. Это сделано намеренно: скачанный пакет и есть та программа, которую вы запускаете, и установить его может даже виртуальный хостинг без доступа к консоли.

Обязателен ли FFmpeg?

Настоятельно рекомендуется, но строго не обязателен. С FFmpeg вы получаете лестницу качеств, упаковку в HLS, миниатюры и спрайты. Без него VideoHub работает, но каждый файл отдаётся только в исходном формате: без адаптивного стриминга, и что залил автор, то и скачивает каждый зритель.

Где хранятся видеофайлы?

На локальном диске или в любом объектном хранилище, совместимом с S3, - задаётся в настройках администратора. С локального диска проще начать; объектное хранилище становится оправданным, когда библиотека перерастает сервер или вы хотите отдавать файлы ближе к аудитории.

Можно ли запретить скачивание видеофайлов?

Есть режим «только HLS», который отдаёт сегментированные потоки вместо одного скачиваемого файла, а скачивание отключается для каждого видео отдельно. Это сильно поднимает планку по сравнению с «правой кнопкой и сохранить». Но это не DRM: ни один плеер в браузере не сделает захват потока невозможным, так что считайте это сдерживающей мерой, а не гарантией.

Поддерживает ли VideoHub арабский язык и раскладку справа налево?

Да. Вместе с английским каталогом идёт полный арабский перевод и настоящая поддержка направления справа налево во всём интерфейсе, а не зеркальная таблица стилей, добавленная в конце. Есть также тёмная и светлая темы и тема оформления, которую можно настроить, не трогая шаблоны.

Как устроены субтитры?

Загружайте файлы VTT или SRT к каждому видео либо позвольте Whisper автоматически сделать первый черновик. Автоматические субтитры - это отправная точка, а не готовая расшифровка: их стоит отредактировать, прежде чем полагаться на них в вопросах доступности.

Можно ли подключить VideoHub к собственному приложению?

Да. REST API в JSON с токенами разработчика для каждого пользователя работает с теми же данными, что и веб-интерфейс, так что вы можете автоматизировать загрузку, читать метаданные, управлять пользователями или построить поверх собственный интерфейс. У каждого видео есть и плеер для встраивания на другие сайты.

Как его установить?

Через веб-установщик. Он проверяет требования, принимает данные вашей базы, импортирует схему и создаёт первую учётную запись администратора. Без командной строки, без сборки и без компиляции ресурсов.

Получить VideoHub

Владейте платформой, а не только каналом.

Одна установка, на оборудовании, которым управляете вы, с базой данных и диском в ваших руках.

  • Работает на обычном PHP 8.2+
  • Веб-установщик, консоль не нужна
  • Создано и поддерживается Fast Hive

Негде запустить? Наши VPS и выделенные серверы уже отвечают всем требованиям выше.