Настройка собственного RTMP сервера для стриминга на VPS: Nginx + Ubuntu 24.04

Giteqa

Приветствую, друзья!

В 2026 году стриминг давно вышел за рамки обычного гейминга или развлекательного блогинга. Профессиональное производство видеоконтента, закрытые корпоративные трансляции, онлайн-обучение без цензуры и задержек, а также необходимость мультистриминга (одновременного вещания на YouTube, Twitch, VK и Telegram) заставляют отказываться от готовых b2b-платформ. Использование публичных сервисов вроде Restream.io упирается в жесткие тарифные сетки, лимиты по разрешению и качеству битрейта.

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

В этом практическом руководстве мы разберем архитектуру медиа-серверов, настроим легковесный стек на базе веб-сервера Nginx с модулем RTMP под управлением Ubuntu 24.04 и запустим трансляцию через OBS Studio.

Key Takeaways: Преимущества своего RTMP-сервера

  • Бесплатный мультистриминг: Ваш сервер может принимать один поток высокой четкости от OBS и самостоятельно дублировать его на любые внешние платформы, экономя ваш домашний интернет-канал.

  • Контроль задержки (Latency): Тонкая настройка буферов позволяет снизить задержку трансляции до 1–2 секунд, что критично для интерактивного общения со зрителями.

  • Экономия ресурсов системы: Связка Nginx + RTMP написана на чистом C, работает на уровне ядра и потребляет всего 20–50 Мб оперативной памяти, оставляя всю мощность процессора под обработку пакетов.

  • Безопасность вещания: Доступ к публикации потока жестко квотируется уникальными ключами — никто посторонний не сможет использовать пропускную способность вашего сервера.

Видеоинструкция установки RTMP сервера

Еще несколько лет назад мы сняли видео, которое покажет весь процесс установки от начала до конца:

Ключевые этапы из видеоинструкции:

  • [00:10] Установка пакетов: Установка модуля libnginx-mod-rtmp на сервер через менеджер пакетов.

  • [00:28] Конфигурация Nginx: Редактирование файла /etc/nginx/nginx.conf и добавление блока rtmp { server { listen 1935; application live { live on; record off; } } }.

  • [01:08] Настройка файрвола: Открытие порта 1935 через UFW (ufw allow 1935/tcp) и перезапуск службы Nginx [01:15].

  • [03:37] Отправка потока через FFmpeg: Перенаправление видеопотока на адрес rtmp://localhost/live/stream.

  • [04:15] Проверка воспроизведения: Открытие потока rtmp://185.163.45.72/live/stream в медиаплеере VLC для проверки работы трансляции в реальном времени.

Архитектура потокового вещания

Классический цикл self-hosted стриминга состоит из трех этапов: Ingest (прием потока от кодировщика OBS), Processing/Routing (обработка, запись или ретрансляция сервером) и Delivery (отдача зрителям или внешним платформам).

Сравнение современных протоколов стриминга

ПротоколСредняя задержкаОсновная фишкаПоддержка в OBS
RTMP2–5 секундМировой стандарт для приема (Ingest) потока.Нативная абсолютная.
SRT0.5–1 секундаУстойчивость к потерям пакетов в плохих сетях.Нативная через Caller режим.
HLS5–20 секундИдеален для раздачи миллионам зрителей через CDN.Отсутствует на вход.
WebRTC / WHIP< 0.5 секУльтранизкая задержка для вещания в браузер.Полная интеграция в WHIP.

Как проверить и посмотреть полученный стрим?

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

  1. Запустите плеер VLC.

  2. Нажмите Медиа -> Открыть URL (или Ctrl+N).

  3. Введите полный сетевой адрес вашего стрима, содержащий секретный ключ из установки [04:13]:

    rtmp://IP_вашего_VPS/live/my_secret_stream

  4. Нажмите «Воспроизвести». Через пару секунд буферизации на экране появится трансляция вашего рабочего стола или камеры из OBS в реальном времени [04:17].

FAQ: Коротко о главном

  • Как защитить сервер, чтобы никто чужой не стримил через мой VPS?

    В простейшем варианте ваш секретный ключ потока (например, my_secret_stream) и является паролем, так как адрес итогового плейлиста формируется на его основе. Если вы хотите внедрить профессиональную авторизацию, в модуле Nginx RTMP предусмотрена директива on_publish http://localhost/auth.php;. При попытке старта трансляции Nginx отправит POST-запрос на ваш скрипт, который сверит ключ с базой данных и вернет статус 200 (разрешить) или 403 (заблокировать).

  • Какие требования к характеристикам VPS накладывает стриминг?

    Сам Nginx RTMP не занимается перекодированием видео (транскодингом), он просто пересылает сетевые пакеты. Поэтому нагрузка на CPU и RAM будет минимальной. Ключевое требование — высокая пропускная способность и стабильность сетевого порта. Для стрима в 1080p с 60 FPS требуется чистый исходящий и входящий канал от 6 до 10 Мбит/с на один целевой поток вещания.

Заключение

Собственный RTMP-сервер — это ультимативный шаг к профессиональной независимости контент-мейкера и бизнеса от сторонних b2b-платформ. Он избавляет от абонентской платы за мультистриминг, позволяет гибко управлять качеством картинки и гарантирует, что ваши эфиры защищены от внезапных блокировок со стороны централизованных систем.

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

И если вы сейчас находитесь в поиске надежного серверного фундамента для запуска своих трансляций, медиа-проектов или систем ретрансляции, обратите внимание на наши услуги Hourly Cloud Servers / NVME VPS. Мы в MivoCloud предоставляем чистую KVM-виртуализацию с гарантированной пропускной способностью сетевых каналов, высокой скоростью работы интерфейсов и стабильными статическими IP-адресами.


Автор статьиAnatolie Cohaniuc