Hopp til innhold

Fagstoff

Åpne for og teste HLS-avspilling

Webserveren din kan nå motta RTMP-videostrøm og omgjøre denne til HLS-strømmingsbiter (chunks). Neste steg er å åpne for at klienter kan koble seg til og hente ned disse strømmingsbitene.
Mann står i et lite kjøkken med flere kameraer rundt. Han smiler til ett av kameraene. Foto.

1. Legge til ekstrakonfigurasjon

For å gjøre HLS-strømmingsbitene tilgjengelig, må Nginx-konfigurasjonen utvides.

sudo nano /etc/nginx/nginx.conf

Legg til følgende på slutten av eksisterende konfigurasjon:

Legg til HLS-konfigurasjon

1# Fellesregler HTTP
2http {
3    sendfile off;
4    tcp_nopush on;
5    directio 512;
6    include /etc/nginx/mime.types;
7    default_type application/octet-stream;
8# konfigurasjon for forespørsler etter HLS-strømmingsbiter
9    server {
10        listen 8080; #definerer portnummer for http-forespørsler
11
12        location / { #definerer regler for utgående HLS-strøm
13            root /var/www/hls; 
14			# Disable cache
15            add_header 'Cache-Control' 'no-cache';
16
17            # CORS setup
18            add_header 'Access-Control-Allow-Origin' '*' always;
19            add_header 'Access-Control-Expose-Headers' 'Content-Length';
20
21            # allow CORS preflight requests
22            if ($request_method = 'OPTIONS') {
23                add_header 'Access-Control-Allow-Origin' '*';
24                add_header 'Access-Control-Max-Age' 1728000;
25                add_header 'Content-Type' 'text/plain charset=UTF-8';
26                add_header 'Content-Length' 0;
27                return 204;
28            }
29
30            types {
31                application/dash+xml mpd;
32                application/vnd.apple.mpegurl m3u8;
33                video/mp2t ts;
34            }
35        }
36    }
37}
38

Trykk tastene Ctrl + X for å gå ut. Bekreft lagring av endringene.

2. Restarte webserver

Bruk kommandoen under for å restarte Nginx-webserveren.

sudo systemctl restart nginx

Hvis du får feil under oppstarten av webserveren, kan du bruke kommandoen under for å få mer informasjon om hvor feilen ligger i konfigurasjonen.

sudo systemctl status nginx

Bruk tastene Ctrl + Z for å komme ut av statusoversikten.

3. Teste HLS-strøm med VLC

For denne testen trenger du en aktiv RTMP-videostrøm fra OBS eller et annet strømmeprogram til serveren din. Sjekk at strømmen inn mot serveren din er aktiv før du går videre.

Maskinen du forsøker å åpne strømmen fra, kan være den samme som du strømmer ut med, eller det kan være en annen maskin som er på det samme lokale nettverket som serveren din.

VLC er åpent, menyen "Media" er åpnet, og "Åpne nettverkskringkasting" er valgt. Skjermbilde.
Åpne bilde i et nytt vindu

VLC er en mye brukt videoavspiller som er tilgjengelig for de fleste operativsystemer. Avspilleren har støtte for de fleste komprimerte medieformater og har god støtte for videostrømmer. Dette gjør programmet nyttig for testing.

Åpne VLC, gå til "Media"-menyen øverst i hovedvinduet, og velg "Åpne nettverkskringkasting".

Fyll inn nettverksadressen til din HLS-videostrøm.

Utformingen til adressen er

<protokoll>://<IP-adresse>:<Port>/<Spilleliste-fil>

For eksempel

http://192.168.1.25:8080/stream.m3u8

Velg "Spill av" for å starte avspillingen.

Vindu merket "Åpne medie" vises. En nettverksadresse er fylt inn. Skjermbilde.
Åpne bilde i et nytt vindu

Hvis konfigurasjonen er gjort riktig, vil VLC nå begynne å hente ned HLS-strømmingsbiter (chunks) fra serveren din og starte avspillingen.

Du kan nå sette opp en lokal videostrømserver med enkel avspilling med VLC. For et mer brukervennlig oppsett kan du sette opp en nettleserbasert avspiller. Dette ser vi på i neste del.

Ved feil

Hvis videostrømmen ikke vil starte i VLC, kan du sjekke ut følgende mulige feilkilder og triks.

  • Er maskinen du forsøker å avspille med, i det samme nettverket som strømmeserveren din?

  • Er strømmeadressen du har skrevet inn i VLC, riktig?

  • Sjekk at du har en aktiv RTMP-videostrøm fra OBS til serveren din.

  • Restart videostrømmen fra OBS til strømmeserveren.

  • Sjekk at Nginx-konfigurasjonen er riktig, forsøk gjerne med en restart av Nginx-webserveren.

Det kan være nyttig å se hvordan VLC klarer avspillingen. Til dette har vi to steder vi kan sjekke.

1. Feillogg (også nyttig når tilkobling til videostrøm feiler)

Gå til menyen "Verktøy" og velg "Meldinger" for å starte visning av feillogger. Som standard er det bare alvorlige feil som vises. For å forandre dette justerer du "Detaljnivå" nederst i loggen til 0 (feil).

2. VLC-statistikk og medieinformasjon

Gå til menyen "Verktøy" og velg "Kodeinformasjon". Du får da opp informasjon om videostrømmen. Fanen "Statistikker" er spesielt nyttig å sjekke ut.

CC BY-SASkrevet av Tron Bårdgård.
Sist faglig oppdatert 05.01.2022

Læringsressurser

Enkeltressurser for oppsett av strømmeserver