Konfigurasjon av Nginx for mottak av videostraum
1. Sjekk mappa som skal brukast
Under installasjonen av Nginx blir det oppretta ei mappe for innhald (sjølve programvara ligg ein annan stad).
Bruk kommandoen cd /var/www til å flytte deg til webservermappa for webfiler. Bruk kommandoen ls -la for å sjå innhaldet i mappa.
Standard-HTML-sida for Nginx ligg i undermappa "html". Viss du ønsker, kan du sjekke denne ved å gå inn i mappa cd html og bruke kommandoen ls -la for å få opp informasjon om fila.
Viss du ønsker å inspisere fila, kan du bruke sudo nano index.nginx-debian.html for å opne fila i nano-editoren.
Trykk ned Ctrl + X for å gå ut av editoren når du har sjekka ut fila.
2. Lag mappe for HLS-chunks
For at strøymetenesta skal fungere, treng vi eit område der mellombelse HLS-strøymingsbitar (chunks) kan lagrast.
Vi startar med å lage ei mappe for filene:
sudo mkdir /var/www/hls
Vi sjekkar eigarstatus på den nye mappa:
ls -la /var/www
Som standard vil rootbrukaren stå som eigar. For at webserveren skal kunne lage og slette mellombelse HLS-strøymingsbitar (chunks) frå mappa, ønsker vi å gi brukaren av webserveren eigarskap over mappa:
sudo chown -R www-data:www-data /var/www/hls
Sjekk konfigurasjonen på nytt etterpå:
ls -la /var/www
3. Førebuingar til ny Nginx-konfigurasjon
I mappa /etc/nginx ligg sjølve konfigurasjonsfilene til Nginx. Den viktigaste av desse konfigurasjonsfilene heiter "nginx.conf".
I staden for å overskrive denne fila direkte ønsker vi å behalde ho i tilfelle vi vil reversere konfigurasjonen seinare. Dette gjer vi ved å gi fila eit nytt namn.
Først flyttar vi plasseringa vår til /etc/nginx.
cd /etc/nginx
Vi ser kva som er i mappa.
ls
Ved å bruke ein mv-kommando kan vi gi fila eit nytt namn.
sudo mv nginx.conf nginx.old
Vi sjekkar forandringa som er gjord.
ls
4. Lag ny nginx.conf-fil og legg inn RTMP basisconfigurasjon
Lag ny konfigurasjonsfil og legg inn konfigurasjonen under.
sudo nano nginx.conf
1user www-data; #bestemmer kva systembrukar webserver skal bruke 2worker_processes auto; 3pid /run/nginx.pid; 4include /etc/nginx/modules-enabled/*.conf; #aktiverer tillegga til webserveren 5events { 6 worker_connections 768; 7 # multi_accept on; 8} 9 10# RTMP-konfigurasjon for strøyming inn til serveren 11rtmp { 12 server { 13 listen 1935; # beskriver portnummer som RTMP-straum må bruke 14 chunk_size 4000; 15 16 application show { #namn på strøyming 17 live on; #skrur på oppsettet 18 hls on; #aktiverer hls-funksjonalitet 19 hls_path /var/www/hls/; #bestemmer kvar hls-chunks skal lagrast 20 hls_fragment 6; #antal sekund per chunk 21 hls_playlist_length 30; #antal sekund i speleliste 22 deny play all; #hindrar RTMP til å bli brukt for strøyming ut frå serveren 23 } 24 } 25}
Bruk tastane Ctrl + X for å gå ut av editoren. Vel "yes" for å lagre forandringar som er gjorde.
5. Restart Nginx for å aktivere ny konfigurasjon
Bruk kommandoen under for å restarte Nginx med den nye konfigurasjonen.
sudo systemctl restart nginx
Viss du får opp feil, kan du bruke kommandoen under for å få meir informasjon om kvar feilen ligg i konfigurasjonen.
sudo systemctl status nginx
Bruk tastane Ctrl + Z for å komme ut av statusoversikta.
6. Test strøyming til serveren
Bruk OBS eller anna programvare og set opp ei strøyming mot serveren. Datamaskina du strøymer frå, må vere tilkopla det same lokale nettverket som strøymeserveren din.
Protokollen er RTMP, og standardporten 1935 blir brukt. Adressa blir forma som vist under.
rtmp://IP-adresse/show
Nøkkelen (streaming key) kan du setje til stream.
Start strøyming og sjå om tilkoplinga er vellykka.
For å sjekke at strøymeserveren gjer om RTMP-videostraumen til HLS-chunks, kan vi sjekke chunksmappa etter desse.
ls /var/www/hls
Filene merkte "Stream-XX.ts" er HLS-strøymingsbitar (chunks). Fila "Stream.m3u8" er ei spelelistefil. Denne bruker vi når vi koplar oss til strøymeserveren med avspelarane.