Education·7 min

Av Shamir

Hva er en .TS-fil, og hvorfor består strømmene dine av dem

Hvis du noen gang har sett inni en strømmemanifestfil, har du sett en liste over filer som slutter på .ts. Hvis du noen gang har hentet video fra en opptaker eller et opptakskort, kan du ha endt opp med en slik fil. Og hvis du noen gang har prøvd å åpne en ved å dobbeltklikke på den, er det ganske sannsynlig at ingenting skjedde.

.ts står for MPEG Transport Stream, og er et av de viktigste, men minst påaktede, formatene innen video. Det ble utviklet for satellitt- og bakkekringkasting på 1990-tallet, og endte tre tiår senere opp med å frakte en enorm andel av strømmingen på internett – av en grunn som er genuint elegant når du først ser den.

Hva en transportstrøm egentlig er

De fleste videoformatene du kjenner til, er filer: en beholder med et topptekstfelt først, en indeks over hvor alt befinner seg, og en tydelig slutt. MP4 fungerer slik. Det er laget for å ligge på en disk og kunne søkes i.

En transportstrøm er ikke bygget slik. Den er en kontinuerlig strøm av små pakker med fast størrelse – 188 byte hver – som kan tas imot når som helst.

Denne designbeslutningen kom fra kringkasting. Når du stiller inn TV-en på en kanal, begynner du ikke på starten av noe. Du kobler deg til et signal som allerede er i gang, og bildet må vises innen ett eller to sekunder. Et format med topptekst først og en indeks ville vært ubrukelig: Det finnes ingen start.

Derfor gjentar en transportstrøm alt du trenger, kontinuerlig. Med jevne mellomrom sender den tabellene som beskriver hvilke strømmer den inneholder på nytt, og den inkluderer regelmessig et komplett nøkkelbilde du kan begynne dekodingen fra. Koble deg til når som helst, så kan avspillingen starte innen ett sekund.

Det er hele poenget, og det forklarer alt annet.

Hvorfor strømming på internett tok det i bruk

HLS – strømmemetoden bak det meste av direktesendt video du ser – fungerer ved å dele innholdet opp i korte segmenter, vanligvis på to til ti sekunder, og føre dem opp i en manifestfil. Spilleren henter segmentene i rekkefølge, og hvis forbindelsen blir dårligere, begynner den stille å be om versjoner med lavere kvalitet i stedet for å stoppe opp.

For at dette skal fungere, må hvert segment kunne dekodes uavhengig. Segment 47 kan ikke være avhengig av en topptekst som bare finnes i segment 1, fordi spilleren kan koble seg til ved 47, eller bytte kvalitet mellom 46 og 47.

Transportstrømmen var allerede akkurat dette formatet. Selvbeskrivende, mulig å starte hvor som helst og motstandsdyktig mot datatap. HLS trengte ikke å finne opp et segmentformat; det arvet et kringkastingsformat som hadde løst det samme problemet siden før nettet hadde video.

Så når du ser inni en .m3u8-manifestfil og ser:

#EXTINF:6.000,
segment000.ts
#EXTINF:6.000,
segment001.ts

er dette transportstrømbiter på seks sekunder. Strømmen din er ikke én video. Den består av tusenvis av små videoer som hentes i rekkefølge. (Derfor kan du ikke bare «konvertere» en strøm til MP4.)

.TS kontra .MP4

.ts (MPEG-TS).mp4
OppbygningKontinuerlig pakkestrømIndeksert fil med topptekst
Starte hvor som helst?JaNei – trenger toppteksten
Tåler datatap?Ja, synkroniserer på nytt ved neste pakkeSkader kan ødelegge hele filen
SøkTregt, ingen indeksRaskt, indeksert
OverheadHøyere (topptekster gjentas hele tiden)Lavere
Utviklet forKringkasting og direktestrømmingLagring og avspilling av komplette filer

Ingen av dem er bedre. De løser motsatte problemer. .ts er optimalisert for å ankomme; .mp4 er optimalisert for å ligge stille.

Det er også derfor konvertering mellom dem i prinsippet er rutine og tapsfri – videoen og lyden inni kan være identiske, og det er bare innpakningen som endres.

Hvor du møter .TS-filer i praksis

  • Inne i HLS-strømmer. Segmentene, som nevnt ovenfor. Du ser dem aldri enkeltvis; spilleren henter dem og forkaster dem.
  • Fra en Xtream-lignende kilde med output=ts. Denne parameteren ber serveren om rå transportstrøm i stedet for segmentert HLS. (Slik bygges disse URL-ene.)
  • Fra utstyr for kringkastingsopptak. Tunere, opptakskort og opptakere skriver ofte .ts direkte, fordi det er formatet signalet kom inn i.
  • På Blu-ray-plater, som .m2ts – en nær slektning.
  • Fra videokameraer, særlig AVCHD-modeller, som også bruker .m2ts.

Når en .TS-fil ikke vil spilles av

Vanlig, og som regel skyldes det én av fem ting.

1. Ingen filtilknytning. Windows og macOS leveres ikke med en håndterer for .ts. Dobbeltklikk gjør ingenting, eller åpner noe lite nyttig. Dette betyr ikke at filen er ødelagt; det er ikke noe galt med den. Åpne den fra en spiller i stedet.

Enda verre: På enkelte systemer er .ts registrert for et kodeprogram, fordi det også er filendelsen for TypeScript-kildefiler. At en video åpnes i et tekstredigeringsprogram, er forvirrende, men ufarlig.

2. Kodeken inni, ikke beholderen. .ts er en innpakning. Det som ligger inni, kan være MPEG-2 (eldre kringkasting), H.264 eller HEVC. Hvis enheten din ikke kan dekode kodeken, er beholderen irrelevant. Det klassiske symptomet er lyd med svart bilde. (Svart skjerm, men lyden fungerer.)

MPEG-2 er en vanlig synder her: Den er eldgammel, og enkelte moderne enheter har ikke lenger en dekoder for den fordi ingen forventet at den fortsatt skulle være nødvendig.

3. Uvanlig lyd. Kringkastingsbaserte transportstrømmer inneholder ofte AC-3-, E-AC-3- eller DTS-lyd. Videoen spilles av, men det er ingen lyd. Det skyldes en lydkodek eller et gjennomstrømmingsproblem, ikke beholderen. (Løsninger når lyden mangler.)

4. Et avbrutt opptak. Et opptak som blir avbrutt midt under skrivingen, gir en ufullstendig fil. Transportstrømmen håndterer dette på en god måte – den vil vanligvis spilles av frem til bruddet – noe som er en reell fordel sammenlignet med MP4, der en avbrutt fil kanskje ikke åpnes i det hele tatt.

5. Søkingen er treg, og det oppfattes som en feil. Det finnes ingen indeks, så en spiller som søker gjennom en stor .ts, må skanne den. Treg søking i en stor transportstrømfil er normal oppførsel, ikke en feil.

Hvilken programvare åpner en slik fil

For en .ts-fil på datamaskinen din fungerer allsidige mediespillere godt. VLC og mpv er standardvalgene, og begge åpner transportstrømmer direkte, også de mer problematiske. Det er nettopp dette de er best på.

For strømmer som leveres som transportstrøm over et nettverk – en Xtream-kilde med output=ts, en HLS-spilleliste med .ts-segmenter eller en enhet på lokalnettet ditt – er dette spillerens kjerneoppgave, og Tuneline håndterer det på tvers av macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV og Apple TV.

For å være presis om grensen, fordi den er viktig: Tuneline åpner spillelister og strømmer, ikke lokale videofiler. Hvis du har et .ts-opptak liggende på harddisken, bruker du VLC eller mpv. Hvis du har en transportstrøm som kommer over nettverket, er det dette Tuneline er laget for.

Spørsmålet om output=ts kontra output=m3u8

Hvis kilden din lar deg velge – og Xtream-lignende kilder gjør det – er dette verdt å forstå, fordi det å bytte kan løse mange avspillingsproblemer.

output=ts gir deg den rå, kontinuerlige strømmen. Best kompatibilitet og fungerer i praksis overalt, men uten adaptiv bitrate. På en svak forbindelse stopper den opp i stedet for å gå ned i kvalitet.

output=m3u8 gir deg segmentert HLS. Fungerer bedre på ustabile forbindelser fordi spilleren kan gå ned til lavere kvalitet underveis, og er generelt bedre egnet for mobilnett.

Praktisk råd: Prøv m3u8 først på telefoner og ved ustabilt Wi-Fi; prøv ts når noe ikke vil spille av i det hele tatt. Det å bytte parameteren krever bare én tegnendring, og løser overraskende mange meldinger om at «det ikke vil spilles av». (Hvorfor strømmer hakker, og hva som faktisk løser det.)

Kort oppsummert

  • .ts er MPEG Transport Stream, utviklet for kringkasting: en kontinuerlig pakkestrøm du kan koble deg til når som helst.
  • HLS tok det i bruk fordi strømming trenger uavhengig dekodbare segmenter, og det var allerede akkurat det formatet.
  • Direktestrømmen din består av tusenvis av korte .ts-segmenter, ikke én fil.
  • .ts kan starte hvor som helst og tåler skader; .mp4 søker raskt og lagrer effektivt. Ulike oppgaver.
  • Avspillingsfeil skyldes vanligvis kodeken inni (MPEG-2, HEVC, AC-3), ikke containeren.
  • Det er normalt at det går tregt å spole i en stor .ts – det finnes ingen indeks.

Får du en transportstrøm over nettverket? Last ned Tuneline – gratis, uten medfølgende innhold, på alle plattformene du eier.

Del denne artikkelen

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

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

Les denne artikkelen på et annet språk

Tuneline er en mediespiller. Den leverer, er ikke vert for og distribuerer ikke noe innhold. Du tar med din egen spilleliste, akkurat som med VLC.