Troubleshooting·8 min

Af Shamir

Forsinkelse i IPTV-streaming: Hvorfor du er bagud i forhold til live (og hvordan du reducerer forsinkelsen)

Du ser en kamp. Din nabo to døre længere nede — med kabel-tv — jubler over et mål. Tyve sekunder senere viser din stream det. Eller din telefon vibrerer med en resultatnotifikation, før spillet overhovedet er nået frem på din skærm. Det mellemrum er IPTV-forsinkelse: forsinkelsen mellem noget, der sker live, og det tidspunkt, hvor du ser det.

Det er et helt andet problem end buffering, og løsningerne er også forskellige. Buffering er, når streamen går i stå (fordi den løber tør for downloadede data og holder pause). Forsinkelse er, når streamen afspilles problemfrit, men er bagud i forhold til realtid. Du kan altså have en perfekt og helt flydende afspilning, der stadig er 45 sekunder bag den faktiske begivenhed. I dette indlæg forklarer vi, hvorfor det sker, hvor meget forsinkelse der ikke kan undgås, og hvad der faktisk kan reducere den.

Hvis dit problem er, at streamen går i stå eller holder pause, snarere end at den er forsinket, skal du i stedet se guiden til løsning af buffering. Hvis billedet bliver pixeleret eller fyldt med artefakter, kan du se løsningen på frysninger og pixelering.

Illustration: forsinkelse (bagud i forhold til live, men flydende) kontra buffering (går i stå)

The fast fix

Indstil præcis, hvor langt bagud i forhold til live du vil være

Tunelines bufferstørrelse er en skyder, du selv styrer, ikke en skjult standardindstilling, og hardwareaccelereret afspilning holder en mindre buffer stabil i stedet for at få streamen til at gå i stå. Gratis medieafspiller uden krav om konto.

Download gratis

Forsinkelse kontra buffering – find ud af, hvad du oplever

SymptomDet er…Gå til
Streamen holder pause, hjulet drejer, og derefter fortsætter denBuffering (løbet tør for data)Løsning på buffering
Billedet går i blokke eller bliver udtværet, uden at afspilningen stopperArtefakter (ødelagte data)Løsning på frysninger og pixelering
Afspilles helt problemfrit, men du er flere sekunder bagud i forhold til virkelighedenForsinkelse (dette indlæg)Læs videre
Lyd og billede kommer gradvist ud af syncLyd/billede-synkroniseringLøsning på læbesynkronisering

Tegnet på forsinkelse er: Afspilningen fungerer fint, du er bare bagefter. Intet hjul, ingen blokke. Resultatnotifikationen kommer før, naboen jubler først, og live-kommentaren i radioen er foran billedet.

Hvorfor alle IPTV-streams er bagud i forhold til live

En vis forsinkelse er grundlæggende uundgåelig – den er indbygget i den måde, streaming fungerer på, og ingen indstilling kan fjerne den helt. Signalet skal igennem en lang rejse, før det når din skærm:

  1. Kamera → broadcasterens encoder. Live-feedet optages og komprimeres. Det tager alene nogle få sekunder.
  2. Broadcaster → IPTV-udbyderens modtagelse. Din udbyder modtager udsendelsen (som ofte allerede er forsinket) og omkoder den til IPTV-distribution. Det tager yderligere nogle få sekunder, og nogle gange mere, hvis streamen omkodes til flere opløsninger.
  3. Udbyder → segmentering. Live-IPTV leveres normalt som HLS eller MPEG-TS i små bidder (segmenter) på 2–10 sekunder. Udbyderen kan ikke sende et segment, før hele denne bid er klar. En segmentstørrelse på 6 sekunder betyder, at der går mindst 6 sekunder, før den pågældende del overhovedet forlader serveren.
  4. CDN/server → din enhed. Netværkstransport og eventuelle caching-lag.
  5. Din afspillers buffer. Din afspiller downloader med vilje nogle sekunder forud, før den begynder at afspille, så små netværksforstyrrelser ikke får streamen til at gå i stå – i Tuneline er det en skyder, du selv kan trække ned, i stedet for at acceptere den standardindstilling, som din udbyders app har indbygget. Denne buffer er den forsinkelse, du bytter for en mere stabil afspilning – typisk 3–15 sekunder.

Lægger man det hele sammen, er 30–60 sekunder bagud i forhold til live helt normalt for IPTV. Nogle udbydere ligger på over 90 sekunder. Kabel-tv og satellit-tv er også forsinket (5–10 sekunder er typisk), bare mindre end IPTV. »Helt live« findes i praksis ikke i forbruger-tv.

Hvor stor en forsinkelse er normal – og hvornår er den for stor?

  • 5–15 sekunder: Fremragende for IPTV. Du har en udbyder med lav forsinkelse og en stramt indstillet buffer.
  • 20–45 sekunder: Normalt og forventeligt. De fleste IPTV-streams ligger her.
  • 45–90 sekunder: I den høje ende. Det skyldes som regel udbyderens kæde til kodning og segmentering, og af og til dine bufferindstillinger.
  • Over 90 sekunder eller en forsinkelse, der vokser med tiden: Noget er galt – enten har du en ekstremt konservativ udbyder, eller også er din afspillers buffer indstillet alt for højt (eller den sakker langsomt længere og længere bagud, hvilket faktisk er et bufferingproblem i forklædning – se nedenfor).

En vigtig forskel: En konstant forsinkelse på 40 sekunder er latenstid. En forsinkelse, der vokser – du starter 10 sekunder bagud og er 3 minutter bagud en time senere – er ikke latenstid. Det betyder, at din forbindelse ikke kan følge med, og at afspilleren lydløst buffer igen for at holde streamen kørende. Det er et båndbredde-/bufferingproblem, ikke et latenstidsproblem.

Hvad reducerer faktisk IPTV-forsinkelsen?

I nogenlunde rækkefølge efter effekt. Lad os sige det med det samme: Det meste af forsinkelsen skyldes udbyderen, og den del kan du ikke selv rette. Her er det, du selv kan kontrollere:

1. Sænk afspillerens bufferstørrelse (den største indstilling, du selv kan påvirke)

Din afspiller downloader data på forhånd, før den afspiller. En stor buffer giver en mere stabil afspilning under netværksforstyrrelser, men også større forsinkelse; en lille buffer giver mindre forsinkelse, men større risiko for, at streamen går i stå. I Tuneline → Indstillinger → Afspilning → Bufferstørrelse kan du sænke den mod den lave ende. Du bytter en del modstandsdygtighed over for stop for mindre forsinkelse. Hvis du begynder at opleve buffering efter at have sænket den, er den sat for lavt – hæv den en smule igen.

Det er den ene indstilling, der med størst sandsynlighed hjælper, og det er en reel afvejning, ikke en gratis gevinst.

2. Brug en kabelforbindelse eller bedre Wi-Fi

En ustabil forbindelse tvinger afspilleren til at holde en større sikkerhedsbuffer (og til at starte buffering igen, hvilket øger forsinkelsen). En stabil kabelforbindelse eller et stærkt Wi-Fi-signal gør det muligt at bruge en mindre buffer uden problemer. På en Fire Stick eller Android-boks kan en Ethernet-adapter til 15 dollars både reducere buffering og gøre det muligt at stramme forsinkelsen. Se bufferingguiden for en tjekliste til netværket.

3. Vælg en streamvariant med lavere forsinkelse, hvis din udbyder tilbyder en

Nogle udbydere tilbyder den samme kanal via forskellige leveringsmetoder (f.eks. en variant med lav forsinkelse HLS eller et direkte MPEG-TS-feed i stedet for et重新segmenteret HLS-feed). MPEG-TS-/direkte feeds har ofte mindre forsinkelse end multi-bitrate HLS. Hvis din udbyder mærker varianterne, er den ikke-adaptive direkte stream normalt tættest på live.

4. Vælg en bedre udbyder til live-sport

Det er den ubehagelige sandhed: Forsinkelsen bestemmes hovedsageligt af din udbyders kæde til kodning og segmentering. En udbyder, der bruger segmenter på 2 sekunder og en enkel omkodningsproces, vil være 15 sekunder bagud; en, der bruger segmenter på 10 sekunder og en omkodning i flere trin, vil være over 60 sekunder bagud, og der er intet, du kan gøre i en afspiller for at lukke den kløft. Hvis lav forsinkelse er vigtig for dig under sport, kan det betale sig at teste et par udbyderes sportsfeeds med et ur.

5. Forvent ikke, at en VPN hjælper

En VPN tilføjer en smule ekstra belastning og et ekstra netværksspring. Den reducerer ikke forsinkelsen og øger den som regel en smule. Den eneste effekt, der er relevant for forsinkelsen, er, hvis din internetudbyder droslede streamen ned eller ændrede ruten – i så fald kan en VPN af og til give en mere direkte vej – men det er undtagelsen, ikke reglen.

Skærmbillede: Indstillingen for bufferstørrelse i Tuneline, med forklaring af afvejningen mellem forsinkelse og stabilitet

Problemet med spoilers fra sport

Den mest frustrerende form for IPTV-forsinkelse er en spoiler: En målnotifikation, et opslag på sociale medier eller en jubel fra naboen når frem til dig, før din stream viser situationen. Der findes ingen perfekt løsning, fordi du ikke kan få din stream frem, før begivenheden sker – du kan kun komme tættere på live:

  • Stram bufferen (trin 1 ovenfor) for at hente 5–10 sekunder tilbage.
  • Slå resultatnotifikationer fra under kampen (i sportsappens indstillinger).
  • Hvis alle i husstanden ser den samme kamp hos den samme udbyder eller via det samme feed, er I i det mindste synkroniserede med hinanden.
  • Accepter, at du som regel vil være bagud i forhold til seere med kabel-tv eller satellit-tv. IPTV er grundlæggende en længere kæde.

Hvis det specifikt handler om live-sport, kan du se vores guide til live-sportsafspillere – nogle broadcasteres feeds har en mere enkel behandlingskæde end andres.

Synkronisering af flere streams (et specialtilfælde)

Hvis du kører flere streams / PiP med den samme begivenhed i to felter — f.eks. to forskellige kommentatorfeeds til den samme kamp — vil du bemærke, at de sjældent er perfekt synkroniserede. Hver stream har sin egen uafhængige forsinkelse gennem sin egen udbyderkæde. De kan være 10–30 sekunder forskudt i forhold til hinanden. Der findes ingen generel måde at låse to uafhængige live-streams sammen på; den eneste praktiske løsning er kort at sætte det forreste felt på pause i Tunelines billede-i-billede-visning, så det bagerste kan indhente det, og derefter genoptage afspilningen.

Ofte stillede spørgsmål

Er IPTV-forsinkelse det samme som ping-/netværksforsinkelse?

Nej. Netværksping (de millisekunder, det tager at nå en server) udgør kun en lille brøkdel af IPTV's forsinkelse. IPTV-"forsinkelse" er forsinkelsen fra livebegivenheden til din skærm — og skyldes primært kodning og segmentering, ikke netværkets round-trip-tid. En ping på 5 ms og en stream-forsinkelse på 40 sekunder kan sagtens eksistere side om side.

Hvorfor er mit kabel-/satellit-tv hurtigere end mit IPTV?

Kabel og satellit har en kortere og mere optimeret udsendelseskæde (selvom de også er forsinkede — typisk 5–10 sekunder). IPTV tilføjer genindlæsning, genkodning, segmentering, CDN-transit og en afspillerbuffer oveni. Flere trin giver mere forsinkelse.

Vil en hurtigere internetforbindelse reducere min forsinkelse?

Kun indirekte. Et hurtigere og mere stabilt internet gør det muligt at bruge en mindre afspillerbuffer uden afbrydelser, hvilket kan spare nogle få sekunder. Men det ændrer ikke den kodnings- og segmenteringsforsinkelse, der ligger hos udbyderen, og som normalt udgør den største del. Hvis din udbyder segmenterer ved 10 sekunder, hjælper det ikke på forsinkelsen at gå fra 100 Mbps til 1 Gbps.

Min forsinkelse bliver ved med at vokse under en kamp. Er det latency?

Nej — det er et buffer-/båndbreddeproblem forklædt som latency. Konstant forsinkelse = latency. Voksende forsinkelse = din forbindelse kan ikke følge med, og afspilleren rebufferer lydløst for at holde sig kørende. Løs det med bufferingsguiden, ikke med tricket, hvor man sænker bufferstørrelsen (det ville få afspilleren til at gå helt i stå).

Hvad er den laveste forsinkelse, jeg realistisk kan opnå?

Med en effektiv udbyder (2-sekunders segmenter), en kablet forbindelse og en lille afspillerbuffer er det muligt at være 8–15 sekunder efter live. Under det kæmper du mod fysikkens love — udbyderen kan bogstaveligt talt ikke sende et segment, før det er færdigbehandlet.

Forringer en mindre bufferstørrelse billedkvaliteten?

Nej. Bufferstørrelsen påvirker, hvor langt frem afspilleren downloader, ikke hvad den downloader. Kvaliteten bestemmes af streamens bitrate/op­løsning, som er uændret. En mindre buffer øger kun risikoen for afbrydelser, hvis din forbindelse svinger.

Kan udbyderens kanaler med "lav forsinkelse" virkelig hjælpe?

Ja, hvis de rent faktisk bruger levering med lav forsinkelse (korte segmenter og effektiv transkodning). Det er værd at teste. Men "lav forsinkelse" i et kanalnavn er ingen garanti — mål den mod et ur eller en kendt live-reference for at bekræfte det.


Kort fortalt

IPTV-forsinkelse — altså at være bagud i forhold til realtid — er normalt og for det meste uundgåeligt. At være 30–60 sekunder efter live er typisk; forsinkelsen er indbygget i kæden encode → segment → transit → buffer, og det meste ligger hos udbyderen, hvor ingen indstilling i afspilleren kan ændre det.

Det, du kan gøre: Sænk din Tuneline bufferstørrelse (Indstillinger → Afspilning → Bufferstørrelse) for at vinde flere sekunder tilbage, brug en stabil kablet forbindelse, så en lille buffer er forsvarlig, vælg en direkte streamvariant eller en variant med lav forsinkelse, hvis din udbyder tilbyder en, og — hvis timing ved live-sport virkelig er vigtig — test en udbyder med et mere effektivt feed. En forsinkelse, der vokser med tiden, er slet ikke latency; det er et båndbreddeproblem.

Skærmbillede: Tunelinediagnosticering, der viser, hvor langt streamen er bagefter live

Del denne artikel

The fast fix

Rather not troubleshoot? Tuneline handles this for you.

A free media player with hardware-accelerated playback and automatic reconnect built in — the two things most players leave off. Bring your existing playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

Læs denne artikel på et andet sprog

Tuneline er en medieafspiller. Den leverer, hoster eller distribuerer ikke noget indhold. Du medbringer din egen playliste, præcis som med VLC.