Jak skonfigurować Nginx RTMP

Jak skonfigurować Nginx RTMP
W ciągu ostatniej dekady streaming na żywo stał się coraz bardziej popularny, ponieważ użytkownicy komunikują się z rodziną i przyjaciółmi, oglądają treści online i wykonują operacje biznesowe. Chociaż istnieją popularne usługi i platformy do wykonywania strumieni na żywo, może być trudne i kosztowne, aby założyć prywatną sesję.

Ten samouczek ma na celu rozwiązanie tego, pokazując, jak skonfigurować osobisty serwer streamingu na żywo, który korzysta z Nginx, potężnego i lekkiego serwera internetowego oraz odwrotnego proxy i protokołu RTMP.

Zanim przejdziemy, upewnij się:

  • Uruchamiasz Ubuntu lub Debian Server
  • Mieć dostęp do swojego serwera za pośrednictwem SSH
  • Użytkownicy root lub uprawnienia sudo

Zacznijmy.

Co to jest nginx

Jak wspomniano powyżej, Nginx jest szybkim i lekkim serwerem internetowym open source i odwrotnym proxy używanym do obsługi prostych statycznych stron internetowych lub masywnych aplikacji. Nginx to wysokowydajny serwer internetowy z niesamowitą szybkością i bezpieczeństwem. Dzięki lekkiej naturze jest to bardzo wydajny wybór usług streamingowych i ruchu z ogromnym ruchem.

Możesz dowiedzieć się więcej o Nginx na podstawie zasobów podanych poniżej:

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

Co to jest Nginx RTMP

Nginx RTMP to moduł open source i potężny dla serwera WWW Nginx. Włącza protokół RTMP, transmisję na żywo HTTP (HLS) i dynamiczne adaptacyjne strumieniowanie nad HTTP (Dash).

Możesz dowiedzieć się więcej o HLS i Dash ze strony zasobów:

https: // www.Cloudflare.com/edukacja/wideo/co-is-mpeg-dash/

Teraz, gdy wiesz, czym są Nginx i Nginx RTMP, skonfigurujmy serwer:

Skonfiguruj na serwer

Pierwszym krokiem jest uzyskanie dostępu do serwera. Upewnij się, że SSH na serwerze jest włączony i masz dodane klucze, aby ułatwić logowanie.

SSH [email protected]
debian@streaming: ~ $

Po uzyskaniu dostępu do serwera możemy zacząć instalować wymagane pakiety i biblioteki. Po pierwsze, upewnij się, że Twój serwer jest aktualny:

Sudo apt-get Aktualizacja
sudo apt -get aktualiza

Instalowanie wymaganego oprogramowania

Aby skonfigurować serwer streamingowy, będziemy musieli zbudować Nginx ze źródła i włączyć moduł RTMP. W tym celu będziemy używać użytków i innych pakietów. Użyj poniższej komendy APT, aby zainstalować wszystkie zależności.

sudo apt-get instaluj -y kompilacja libpcre3 libpcre3-dev libssl-dev git zlib1g-dev

Następnym krokiem jest skompilowanie i zainstalowanie Nginx z włączonym modułem RTMP. Aby pozostać zorganizowanym, stwórz katalog do procesu.

mkdir ~/Make
CD ~/Make/

Następnie klon moduł Nginx-RTMP:

git klon git: // github.com/arut/nginx-rtmp-moduł.git

Teraz musimy pobrać Nginx.

Udaj się do http: // nginx.org/en/pobierz.HTML i wybierz opcję pobierania.

wget http: // nginx.org/pobierz/nginx-1.19.8.smoła.GZ
TAR XZF Nginx-1.19.8.smoła.GZ
CD Nginx-1.19.8

Ostatnim krokiem w tej sekcji jest skompilowanie Nginx z włączonym modułem RMTP. Użyj poniższych poleceń:

sudo ./Configure--With-Http_SSL_Module --add-Module =… /nginx-rtmp-moduł
Sudo Make
sudo wykonaj instalację

Konfigurowanie transmisji na żywo

Aby włączyć obsługę RTMP, musimy edytować plik konfiguracyjny Nginx i określić blok RTMP.

sudo nano/usr/local/nginx/conf/nginx.conf

Wprowadź blok wsparcia RTMP jako:

RTMP
serwer
Posłuchaj 1935;
ping 30s;
Aplikacja na żywo
Żyj dalej;
przeplatać się;
hls on;
hls_path /tmp /hls;
HLS_Sync 100ms;
hls_fragment 15s;



http
default_type Application/Octet-Stream;
serwer
Posłuchaj 80;
lokalizacja /telewizja
root /tmp /hls;


Typy
Aplikacja/VND.jabłko.MPEGURL M3U8;
wideo/MP2T TS;
tekst/html html;

W powyższej konfiguracji włączamy moduł RTMP i HLS. Rozważ dokumentację, aby dowiedzieć się, jak włączyć Dash.

Po konfiguracji zapisz plik i uruchom usługę Nginx.

sudo/usr/local/nginx/sbin/nginx

Rozpocznij strumieniowanie

Po prawidłowym skonfigurowaniu wszystkie. Możesz także skonfigurować inne narzędzia, takie jak STUTO STUDIO, ale nie omówię tego w tym samouczku.

Użyj polecenia FFMPEG jako:

sudo ffmpeg -re -i próbki mp4.MP4 -C Copy -f hls rtmp: // localhost/na żywo/strumień

Odtwarzaj strumień za pomocą odtwarzacza multimedialnego FFPLAY lub VLC.

ffplay rtmp: // ip/na żywo/strumień

Po uruchomieniu strumienia możesz ujawnić usługę do sieci zewnętrznej.

NOTATKA: Upewnij się, że zabezpieczyłeś serwer, zanim zezwoliłeś publicznemu dostępowi.

Wniosek

Ten samouczek obejmował sposób skonfigurowania serwera strumieniowego za pomocą modułu RTMP Nginx i Nginx. Należy pamiętać, że w konfigurowaniu usługi przesyłania strumieniowego jest wiele biegów i możesz je dostosować zgodnie z Twoimi potrzebami.

Rozważ następujące zasoby, aby zbadać więcej.

  • https: // ffmpeg.org/ffmpeg.html
  • https: // ffmpeg.org/ffplay.html
  • https: // ffmpeg.Org/FFMPEG-formaty.html
  • https: //.com/Docs/
  • https: // wiki.Videolan.org/dokumentacja: streaming_howto