Luo oma live-videon suoratoistopalvelin Linuxilla

Useimmat suoratoistotyökalut ja -sivustot ovat yleisölle ilmaisia, mutta ne vaativat usein tilin luomista, mikä antaa tietoja, joita et ehkä halua näkyvän verkossa. He voivat pitää sisältöä mainosten takana ja sisältää (can )hämmentäviä(Service) käyttöehtoja, joita he eivät välttämättä edes pidä itsestään. 

Jotkut nauttivat suoratoistosta, mutta heidän ei tarvitse olla yleisön saatavilla. Sen sijaan he haluavat hallita enemmän suoratoistoaan ja tuottamaansa sisältöä. Avoimen lähdekoodin(Open-source) ohjelmistot, kuten Linux , ovat paras vastaus tähän esteeseen.

Ajatella etukäteen(Thinking Ahead)

Ennen kuin aloitat oman suoratoistopalvelimesi määrittämisen, sinun tulee kysyä itseltäsi muutama kysymys. Ensinnäkin(First) , minkälaatuista suoratoistoa etsit? Seuraavaksi(Next) , kuinka monta katsojaa odotat saavasi mukaan? Mihin säilytät kaiken suoratoistetun sisältösi? Kenellä on pääsy siihen sisältöön?

Myös järjestelmävaatimukset voidaan pitää huolenaiheena. Ei kuitenkaan ole asetettuja sääntöjä sille, mitä tarvitset tässä suhteessa, joten tee itsellesi palvelus ja kokeile nähdäksesi, mikä toimii parhaiten tavoitteidesi kannalta.

Sinun on selvitettävä, mikä protokolla käsittelee suoratoiston ääni- ja videoosia. Real-Time Messaging Protocol ( RTMP ) on loistava valinta, mutta on muitakin, kuten WebRTC , jotka saattavat pärjätä paremmin tilanteessasi. RTMP :llä on laaja tuki, joten keskitymme siihen tässä artikkelissa.

Toinen huolenaihe on "suoratoiston" todennäköiset viiveet. Se, että aloitat live-lähetyksen, ei tarkoita, että kaikki menee täydellisesti. Videovirrat(Video) on koodattava, siirrettävä, puskuroitava ja näytettävä, joten striimin attribuutteja on muutettava hieman.

Linux-palvelimen asennus(Linux Server Setup)

Ubuntu Linux on henkilökohtainen suosikkini, joten se on tässä suosikkiversio. Niille, jotka haluavat GUI- vaihtoehdon, Ubuntu Desktop on saatavilla. 

  • Käynnistä (Fire)Ubuntu - asennusohjelma ja valitse tarpeisiisi parhaiten sopivat asetukset. Haluat todennäköisesti määrittää joitain staattisia verkkoasetuksia, koska tätä käytetään palvelimena.
  • Käynnistä(Reboot) järjestelmä uudelleen asennuksen jälkeen, jos se ei tee sitä automaattisesti. Kun Ubuntu - järjestelmä on käynnistynyt, asenna kaikki saatavilla olevat päivitykset:
sudo apt update
sudo apt upgrade

Käytämme Nginx-verkkopalvelinta(Nginx web server) tälle suoratoistopalvelimelle. Asenna se:

sudo apt install nginx

Hanki RTMP - moduuli, jotta Nginx voi käsitellä mediavirtaasi:

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

Säädä Nginxin asetuksia niin, että se voi hyväksyä ja toimittaa mediavirtasi.

sudo nano /etc/nginx/nginx.conf

Lisää seuraava koodi konfigurointitiedoston alaosaan:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

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

Tallenna asetustiedosto, koska käytämme sitä myöhemmin toimivan suoratoistopalvelimen luomiseen.

Käynnistä Nginx uudelleen(Restart Nginx) uudella kokoonpanollaan:

sudo systemctl restart nginx

Suoratoistoohjelmiston asetukset(Streaming Software Setup)

Palvelin on valmis, joten nyt on aika määrittää suoratoistoohjelmistosi. Käytetään Open Broadcaster Softwarea(Open Broadcaster Software) (OBS) tässä läpikäynnissä. 

  • Siirry sivustolle ja valitse koontiversio Linuxille(Linux) . Kun ohjelmisto on käynnistynyt, määritä OBS asetuksilla, jotka vastaavat parhaiten laitteistoasi.
  • Lisää suoratoistolähde napsauttamalla +-merkkiä aivan Lähteen(Source) alla .

  • Valitse testauksen vuoksi Display Capture ja anna lähteelle nimi.
  • Napsauta OK - painiketta, niin OBS peilaa työpöytäsi.
  • Napsauta sitten Tiedosto(File) - välilehteä ja valitse Asetukset(Settings)

Valitse Stream-osiossa aseta Stream Type -asetukseksi Mukautettu…(set Stream Type to Custom…) ja kirjoita seuraava URL - osoite Palvelin(Server) - kenttään:

rtmp://IPaddress/live 

Kirjoita IP-osoitteen tilalle suoratoistopalvelimesi(IPaddress) IP-osoite.

Luo nyt oma Stream Key -avain(Stream Key) ja kirjoita se Stream key -ruutuun. Tee siitä jotain, jonka muistat ja kirjoita se ylös. Lisää suojausta valitsemalla Käytä todennusta(Use authentication ) -ruutu ja lisäämällä haluamasi tunnistetiedot.

Lopeta Käytä(Apply) ja paina sitten OK - painiketta.

Kaikki pitäisi nyt määrittää suoratoistoa varten. Aloita ensimmäinen suoratoisto painamalla Striimaa nyt(Stream Now) -painiketta. Painike muuttuu Pysäytä suoratoisto(Stop Streaming) -painikkeeksi, jos kaikki on tehty oikein. Suoratoistosi kaistanleveystiedot näkyvät OBS - ikkunan alareunassa.

Ole ensimmäinen katsojasi(Be Your First Viewer)

RTMP :tä tukevia avoimen lähdekoodin mediasoittimia on paljon , joista tunnetuin on VLC-mediasoitin(VLC media player) . Asenna ja käynnistä tämä ohjelmisto, napsauta Media - välilehteä ja valitse valikosta Open Network Stream

Onko (Got)stream-(Stream Key) avaimesi käytettävissä? Kirjoita streamisi polku ja liitä aiemmin määrittämäsi stream-avain(Stream Key) sen loppuun. Pitäisi näyttää tältä:

rtmp://IPaddress/live/SecretKey

Napsauta Toista(Play) , niin saat suoran näkymän omasta streamistasi.

Lisätoimenpiteet(Additional Measures)

Nyt kun perusasiat on saavutettu, suoratoistopalvelimesi käytön rajoittaminen ja videoiden tallentaminen ja tallentaminen ovat kaksi muuta tekijää, joista saatat olla kiinnostunut.

Oletuksena kuka tahansa voi tarkastella streamiasi. Tämä voi olla vastoin palvelimen luomisen tarkoitusta. Sinun kannattaa määrittää rajoitettu käyttöoikeus käyttämällä Linux - palomuuria, .htaccess-tiedostoa(.htaccess file) tai RTMP-moduulin sisäänrakennettuja käyttöoikeuksia(built-in access controls in the RTMP module) . Tämä valinta on jätetty sinulle.

Tässä annettu Nginx - määritys mahdollistaa vain videoiden suoratoiston, mutta et tallentamista. Voit lisätä tallennusvaihtoehdon Nginx - määrityksessä, juuri RTMP -osion alapuolella, voit määrittää suoratoiston tallennusasetukset ja antaa sijainnin, johon haluat tallentaa ja tallentaa sisältösi. 

Aseta(Set) olemassa oleva polku, jotta Nginx voi kirjoittaa siihen. Kirjoita seuraava:

sovellus live { (application live {)
             live on;
             tallentaa kaikki; (             record all;)
             record_path /var/www/html/recordings;
             Record_unique päällä; (             record_unique on;)
}

Se on kaikki mitä tarvitset, kun määrität suoratoistopalvelimen Ubuntu Linux -käyttöjärjestelmällä(Ubuntu Linux OS) . Jos olet enemmän kiinnostunut ei-live-median suoratoistopalvelimesta, suosittelen Plexin(Plex) käyttöä OBS:n sijasta.



About the author

Olen laitteisto-insinööri ja ohjelmistokehittäjä, jolla on yli 10 vuoden kokemus Applen ja Googlen alustoista. Taitoni on tehokkaiden, käyttäjäystävällisten ratkaisujen kehittäminen vaikeisiin suunnitteluongelmiin. Minulla on kokemusta sekä MacOS- että iOS-laitteista sekä näppäimistön ja hiiren ohjaimista. Vapaa-ajallani tykkään uida, katsella tennistä ja kuunnella musiikkia.



Related posts