Konfigurasjon av Nginx for mottak av videostraum
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.
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
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
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.
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.
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.