Hopp til innhald

Fagstoff

Opne for og teste HLS-avspeling

Webserveren din kan no få RTMP-videostraum og gjere om denne til HLS-strøymingsbitar (chunks). Neste steg er å opne for at klientar kan kople seg til og hente ned desse strøymingsbitane.
Mann står i eit lite kjøkken med fleire kamera rundt. Han smiler til eitt av kameraa. Foto.

1. Legge til ekstrakonfigurasjon

For å gjere HLS-strøymingsbitane tilgjengelege, må Nginx-konfigurasjonen utvidast.

sudo nano /etc/nginx/nginx.conf

Legg til følgande på slutten av eksisterande konfigurasjon:

Legg til HLS-konfigurasjon

1# Fellesreglar 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 førespurnader etter HLS-strøymingsbitar
9    server {
10        listen 8080; #definerer portnummer for http-førespurnader
11
12        location / { #definerer reglar for utgåande HLS-straum
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 tastane Ctrl + X for å gå ut. Stadfest lagring av endringane.

2. Restarte webserver

Bruk kommandoen under for å restarte Nginx-webserveren.

sudo systemctl restart nginx

Viss du får feil under oppstarten av webserveren, 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.

3. Teste HLS-straum med VLC

For denne testen treng du ein aktiv RTMP-videostraum frå OBS eller eit anna strøymeprogram til serveren din. Sjekk at straumen inn mot serveren din er aktiv før du går vidare.

Maskina du prøver å opne straumen frå, kan vere den same som du strøymer ut med, eller det kan vere ei anna maskin som er på det same lokale nettverket som serveren din.

VLC er ope, menyen "Medium" er opna, og "Opna nettversksstraum" er valt. Skjermbilete.
Opne bilete i eit nytt vindauge

VLC er ein mykje brukt videoavspelar som er tilgjengeleg for dei fleste operativsystem. Avspelaren har støtte for dei fleste komprimerte medieformat og har god støtte for videostraumar. Dette gjer programmet nyttig for testing.

Opne VLC, gå til "Medium"-menyen øvst i hovudvindauget, og vel "Opna nettverksstraum".

Fyll inn nettverksadressa til HLS-videostraumen din.

Utforminga til adressa er

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

Til dømes

http://192.168.1.25:8080/stream.m3u8

Vel "Spel av" for å starte avspelinga.

Vindauge merkt "Opna medium". Ei nettverksadresse er fylt inn. Skjermbilete.
Opne bilete i eit nytt vindauge

Viss konfigurasjonen er gjord rett, vil VLC no byrje å hente ned HLS-strøymingsbitar (chunks) frå serveren din og starte avspelinga.

Du kan no setje opp ein lokal videostraumserver med enkel avspeling med VLC. For eit meir brukarvennleg oppsett kan du setje opp ein nettlesarbasert avspelar. Dette ser vi på i neste del.

Ved feil

Viss videostraumen ikkje vil starte i VLC, kan du sjekke ut følgande moglege feilkjelder og triks.

  • Er maskina du prøver å spele av med, i det same nettverket som strøymeserveren din?

  • Er strøymeadressa du har skrive inn i VLC, rett?

  • Sjekk at du har ein aktiv RTMP-videostraum frå OBS til serveren din.

  • Restart videostraumen frå OBS til strøymeserveren.

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

Det kan vere nyttig å sjå korleis VLC klarer avspelinga. Til dette har vi to stader vi kan sjekke.

1. Feillogg (òg nyttig når tilkopling til videostraum feilar)

Gå til menyen "Verktøy" og vel "Meldingar" for å starte visning av feilloggar. Som standard er det berre alvorlege feil som blir vist. For å forandre dette justerer du "Detaljnivå" nedst i loggen til 0 (feil).

2. VLC-statistikk og medieinformasjon

Gå til menyen "Verktøy" og vel "Kodeinformasjon". Du får då opp informasjon om videostraumen. Fanen "Statistikkar" er spesielt nyttig å sjekke ut.

CC BY-SASkrive av Tron Bårdgård.
Sist fagleg oppdatert 05.01.2022

Læringsressursar

Enkeltressursar for oppsett av strøymeserver