Настройка собственного RTMP сервера для стриминга на VPS: Nginx + Ubuntu 24.04
Приветствую, друзья!
В 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на сервер через менеджер пакетов.[
] Конфигурация Nginx: Редактирование файла00:28 /etc/nginx/nginx.confи добавление блокаrtmp { server { listen 1935; application live { live on; record off; } } }.[
] Настройка файрвола: Открытие порта 1935 через UFW (01:08 ufw allow 1935/tcp) и перезапуск службы Nginx [ ].01:15 [
] Отправка потока через FFmpeg: Перенаправление видеопотока на адрес03:37 rtmp://localhost/live/stream.[
] Проверка воспроизведения: Открытие потока04:15 rtmp://185.163.45.72/live/streamв медиаплеере VLC для проверки работы трансляции в реальном времени.
Архитектура потокового вещания
Классический цикл self-hosted стриминга состоит из трех этапов: Ingest (прием потока от кодировщика OBS), Processing/Routing (обработка, запись или ретрансляция сервером) и Delivery (отдача зрителям или внешним платформам).
Сравнение современных протоколов стриминга
| Протокол | Средняя задержка | Основная фишка | Поддержка в OBS |
| RTMP | 2–5 секунд | Мировой стандарт для приема (Ingest) потока. | Нативная абсолютная. |
| SRT | 0.5–1 секунда | Устойчивость к потерям пакетов в плохих сетях. | Нативная через Caller режим. |
| HLS | 5–20 секунд | Идеален для раздачи миллионам зрителей через CDN. | Отсутствует на вход. |
| WebRTC / WHIP | < 0.5 сек | Ультранизкая задержка для вещания в браузер. | Полная интеграция в WHIP. |
Как проверить и посмотреть полученный стрим?
Чтобы убедиться, что сервер корректно обрабатывает видео и отдает его в сеть, вы можете открыть поток на любом локальном устройстве через медиаплеер VLC:
Запустите плеер VLC.
Нажмите Медиа -> Открыть URL (или
Ctrl+N).Введите полный сетевой адрес вашего стрима, содержащий секретный ключ из установки [
]:04:13 rtmp://IP_вашего_VPS/live/my_secret_streamНажмите «Воспроизвести». Через пару секунд буферизации на экране появится трансляция вашего рабочего стола или камеры из 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

