Utwórz własny serwer przesyłania strumieniowego wideo na żywo w systemie Linux


Większość narzędzi i stron do przesyłania strumieniowego na żywo jest ogólnodostępna bezpłatnie, ale często wymagają utworzenia konta, podając informacje, które mogą nie być widoczne w Internecie. Mogątrzymać niektóre treści za reklamami i wprowadzać mylące Warunki świadczenia usług, których mogą nawet się nie trzymać.

Są tacy, którzy lubią transmisję na żywo, ale nie muszą mieć dostępu do swoich filmów dla mas. Zamiast tego wolą mieć większą kontrolę nad swoim strumieniem i tworzoną przez siebie treścią. Oprogramowanie typu open source, takie jak Linux, jest najlepszą odpowiedzią na tę przeszkodę.

Myślenie

Zanim zaczniesz konfigurować swój osobisty serwer przesyłania strumieniowego, powinieneś zadać sobie kilka pytań. Po pierwsze, jakiej jakości strumienia szukasz? Następnie, ilu widzów spodziewasz się przyciągnąć? Gdzie będziesz przechowywać wszystkie treści przesyłane strumieniowo? Kto będzie miał dostęp do tych treści?

Wymagania systemowe mogą być również postrzegane jako problem. Jednak nie ma ustalonych reguł dotyczących dokładnie tego, czego będziesz potrzebować w tym względzie, więc zrób sobie przysługę i eksperymentuj, aby zobaczyć, co najlepiej pasuje do twoich celów.

Musisz dowiedzieć się, który protokół obsłuży część audio i wideo transmisji strumieniowej. Protokół przesyłania wiadomości w czasie rzeczywistym (RTMP) to świetny wybór, ale istnieją inne, takie jak WebRTC, które mogą się lepiej sprawdzić w twojej sytuacji. RTMP ma szerokie wsparcie, dlatego skupimy się na tym w tym artykule.

Kolejną kwestią, o którą należy się martwić, są opóźnienia w transmisji „na żywo”. To, że uruchomisz transmisję na żywo, nie oznacza, że ​​wszystko będzie idealnie pasować. Strumienie wideo muszą być kodowane, przesyłane, buforowane i wyświetlane, więc spodziewaj się drobnych poprawek w atrybutach strumienia.

In_content_1 all: [300x250] / dfp: [640x360 ]->

Serwer Linux Konfiguracja

Ubuntu Linux to mój osobisty faworyt, więc tutaj będzie dostępna wersja. Dla tych, którzy wolą opcję GUI, dostępna jest opcja Ubuntu Desktop.

  • Uruchom instalator Ubuntu i wybierz ustawienia, które najlepiej odpowiadają Twoim potrzebom. Prawdopodobnie będziesz chciał ustawić niektóre statyczne ustawienia sieci, ponieważ będą one używane jako serwer.
  • Zrestartuj system po instalacji, jeśli nie zrobi to automatycznie. Po uruchomieniu systemu Ubuntu zainstaluj wszystkie dostępne aktualizacje:
  • sudo apt update
    sudo apt upgrade

    Będziemy używać Nginx serwer internetowydla tego serwera przesyłania strumieniowego. Zainstaluj:

    sudo apt install nginx

    Pobierz moduł RTMP, aby Nginx mógł obsłużyć Twój strumień multimediów:

    sudo add-apt-repository universe
    sudo apt install libnginx-mod-rtmp

    Dostosuj konfigurację Nginx, aby mógł akceptować i dostarczać Twój strumień multimediów.

    sudo nano /etc/nginx/nginx.conf

    Dodaj następujący kod na dole pliku konfiguracyjnego:

    rtmp {
            server {
                    listen 1935;
                    chunk_size 4096;

                    application live {
                            live on;
                            record off;
                    }
            }
    }

    Zapisz plik konfiguracyjny, ponieważ będziemy go później używać aby utworzyć działający serwer przesyłania strumieniowego.

    Uruchom ponownie Nginx w nowej konfiguracji:

    sudo systemctl restart nginx

    Konfiguracja oprogramowania do przesyłania strumieniowego

    Serwer jest gotowy, więc teraz nadszedł czas skonfigurować oprogramowanie do przesyłania strumieniowego. Użyjmy Oprogramowanie Open Broadcaster (OBS) w tym przebiegu.

    • Przejdź na stronę i wybierz kompilację dla systemu Linux. Po uruchomieniu oprogramowania skonfiguruj OBS z ustawieniami, które najlepiej pasują do Twojego sprzętu.
    • Dodaj źródło transmisji strumieniowej, klikając + tuż pod Źródło.
      • Dla celów testowych wybierz Wyświetl przechwytywaniei wprowadź nazwę źródła.
      • Kliknij przycisk OK, a OBS będzie odzwierciedlać pulpit.
      • Następnie kliknij kartę Pliki wybierz Ustawienia.
      • W sekcji Strumień wybierz ustaw Typ strumienia na Niestandardowy…i wprowadź następujący adres URL w polu Serwer:

        rtmp://IPaddress/live 

        Zamiast adresu IPwprowadź adres IP swojego serwera przesyłania strumieniowego.

        Teraz utwórz własny klucz strumienia i wprowadź go w polu klucza strumienia. Zrób z tego coś, co zapamiętasz i zapisz. Aby zwiększyć bezpieczeństwo, zaznacz pole Użyj uwierzytelnianiai dodaj preferowane poświadczenia.

        Zakończ za pomocą Zastosuj, a następnie przycisku OK.

        Wszystko powinno teraz być skonfigurowanym do przesyłania strumieniowego. Aby rozpocząć swój pierwszy strumień, kliknij przycisk Strumień teraz. Przycisk zmieni się na Zatrzymaj przesyłanie strumieniowe, o ile wszystko zostało wykonane poprawnie. Wskaźniki przepustowości twojego strumienia pojawią się na dole okna OBS.

        Bądź pierwszym przeglądającym

        Istnieje wiele odtwarzaczy multimedialnych typu open source, które obsługują RTMP , z których najbardziej znanym jest Vlc media player. Zainstaluj i uruchom to oprogramowanie, kliknij kartę Mediai wybierz z menu Otwórz strumień sieciowy.

        Masz pod ręką klucz do strumienia? Wpisz ścieżkę do strumienia i dołącz do niego skonfigurowany wcześniej klucz strumienia. Powinien wyglądać następująco:

        rtmp://IPaddress/live/SecretKey

        Kliknij Odtwórz, a uzyskasz podgląd własnego strumienia na żywo.

        Dodatkowe środki

        Po zapoznaniu się z podstawami, ograniczenie dostępu do serwera przesyłania strumieniowego oraz możliwość nagrywania i zapisywania filmów to dwa inne czynniki, które mogą Cię zainteresować.

        Domyślnie każdy może wyświetlać Twoje strumień. Może to być sprzeczne z celem stworzenia serwera. Będziesz chciał skonfigurować ograniczony dostęp przy użyciu zapory systemu Linux, plik .htaccess lub wbudowane kontrole dostępu w module RTMP. Ten wybór należy do ciebie.

        Podana tutaj konfiguracja Nginx pozwoli Ci tylko na strumieniowe przesyłanie filmów, ale ich nie zapisywać. Aby dodać opcję przechowywania, w konfiguracji Nginx, tuż pod sekcją RTMP, możesz skonfigurować opcje nagrywania strumienia i podać lokalizację, w której chcesz zapisać i zapisać zawartość.

        Ustaw istniejącą ścieżkę, aby umożliwić Nginxowi zapisywanie na niej. Wpisz następujące informacje:

        aplikacja na żywo {
        na żywo;
        nagraj wszystko;
        ścieżka_rejestracyjna / var / www / html / nagrania;
        record_unique włączona;
        }

        To wszystko powinien być potrzebny podczas konfigurowania serwera przesyłania strumieniowego na żywo za pomocą systemu operacyjnego Ubuntu Linux. Jeśli jesteś bardziej zainteresowany medialnym serwerem transmisji strumieniowej na żywo, sugerowałbym użycie Pleks zamiast OBS.

        Powiązane posty:


        31.08.2019