Nginx

Как настроить Nginx RTMP

Как настроить Nginx RTMP
За последнее десятилетие прямые трансляции становятся все более популярными, поскольку пользователи общаются с семьей и друзьями, смотрят контент в Интернете и выполняют бизнес-операции. Несмотря на то, что существуют популярные сервисы и платформы для потоковой передачи в реальном времени, создание приватного сеанса может оказаться сложной и дорогостоящей задачей.

В этом руководстве мы пытаемся решить эту проблему, показывая вам, как настроить персональный сервер потоковой передачи в реальном времени, который использует преимущества Nginx, мощного и легкого веб-сервера, обратного прокси-сервера и протокола RTMP.

Прежде чем продолжить, убедитесь, что:

Давай начнем.

Что такое Nginx

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

Вы можете узнать больше о Nginx из ресурса, представленного ниже:

https: // nginx.org / en / docs /

Что такое Nginx RTMP

Nginx RTMP - это мощный модуль с открытым исходным кодом для веб-сервера Nginx. Он включает протокол RTMP, HTTP Live Streaming (HLS) и динамическую адаптивную потоковую передачу по HTTP (DASH).

Вы можете узнать больше о HLS и DASH на странице ресурсов:

https: // www.облачная вспышка.ru / обучение / видео / что такое-mpeg-dash /

Теперь, когда вы знаете, что такое Nginx и Nginx RTMP, давайте настроим сервер:

Настроить на сервер

Первый шаг - получить доступ к серверу. Убедитесь, что SSH для вашего сервера включен, и вы добавили ключи для упрощения входа в систему.

ssh debian @ 34.73.160.42
[электронная почта защищена]: ~ $

Как только у нас будет доступ к серверу, мы можем начать установку необходимых пакетов и библиотек. Во-первых, убедитесь, что ваш сервер обновлен:

sudo apt-get update
sudo apt-get upgrade -y

Установка необходимого программного обеспечения

Чтобы настроить потоковый сервер, нам нужно будет собрать Nginx из источника и включить модуль RTMP. Для этого мы будем использовать build-essentials и другие пакеты. Используйте команду apt ниже, чтобы установить все зависимости.

sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-dev

Следующим шагом будет компиляция и установка Nginx с включенным модулем RTMP. Чтобы оставаться организованным, создайте каталог для процесса.

mkdir ~ / Make
cd ~ / Make /

Затем клонируйте модуль nginx-RTMP:

git clone git: // github.com / arut / nginx-rtmp-модуль.мерзавец

Теперь нам нужно скачать nginx.

Перейдите на http: // nginx.org / en / download.html и выберите вариант загрузки.

wget http: // nginx.org / download / nginx-1.19.8.деготь.gz
tar xzf nginx-1.19.8.деготь.gz
компакт-диск Nginx-1.19.8

Последний шаг в этом разделе - скомпилировать Nginx с включенным модулем RMTP. Используйте команды ниже:

судо ./ configure --with-http_ssl_module --add-module =… / nginx-rtmp-module
sudo make
sudo make install

Настройка прямой трансляции

Чтобы включить поддержку RTMP, нам нужно отредактировать файл конфигурации nginx и указать блок RTMP.

судо нано / usr / локальные / nginx / conf / nginx.conf

Введите блок поддержки RTMP как:

rtmp
server
слушай 1935;
пинг 30 с;
application live
жить дальше;
включить чередование;
hls on;
hls_path / tmp / hls;
hls_sync 100 мс;
hls_fragment 15s;



http
default_type application / octet-stream;
server
слушать 80;
location / tv
корень / tmp / hls;


types
приложение / vnd.яблоко.mpegurl m3u8;
видео / mp2t ts;
текст / html html;

В приведенной выше конфигурации мы включаем модуль RTMP и HLS. Изучите документацию, чтобы узнать, как включить DASH.

После настройки сохраните файл и запустите службу Nginx.

судо / usr / местный / nginx / sbin / nginx

Начать трансляцию

После того, как вы все настроили правильно, вы можете начать потоковую передачу с помощью FFmpeg - это самый простой. Вы также можете настроить другие инструменты, такие как OBS studio, но я не буду рассматривать это в этом руководстве.

Используйте команду FFmpeg как:

sudo ffmpeg -re -i образец-mp4-файл.mp4 -c copy -f hls rtmp: // локальный / живой / поток

Воспроизвести поток с помощью FFplay или VLC Media player на ресурсе.

ffplay rtmp: // IP / в прямом эфире / поток

После запуска потока вы можете открыть службу для внешней сети.

ПРИМЕЧАНИЕ: Убедитесь, что вы защитили свой сервер, прежде чем разрешать публичный доступ.

Заключение

В этом руководстве рассказывается, как настроить потоковый сервер с помощью Nginx и модуля Nginx RTMP. Имейте в виду, что настройка потокового сервиса включает в себя множество механизмов, и вы можете настроить его в соответствии с вашими потребностями.

Рассмотрите следующие ресурсы, чтобы узнать больше.

Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...