Education·7 min

Deur Shamir

Wat is ’n .TS-lêer, en waarom jou strome daaruit bestaan

As jy al ooit binne ’n stroommanifes gekyk het, het jy ’n lys lêers gesien wat op .ts eindig. As jy al ooit video van ’n opnemer of ’n vangkaart onttrek het, het jy dalk met een geëindig. En as jy al ooit probeer het om een oop te maak deur daarop te dubbelklik, is daar ’n goeie kans dat niks gebeur het nie.

.ts staan vir MPEG Transport Stream, en dit is een van die stilweg belangrikste formate in video. Dit is in die 1990’s vir satelliet- en aardse uitsendings ontwerp, en drie dekades later het dit ’n enorme deel van internetstroming begin dra — om ’n rede wat werklik elegant is sodra jy dit verstaan.

Wat ’n Transport Stream werklik is

Die meeste videoformate wat jy ken, is lêers: ’n houer met ’n opskrif vooraan, ’n indeks van waar alles is, en ’n bepaalde einde. MP4 werk so. Dit is ontwerp om op ’n skyf te staan en deurgesoek te word.

’n Transport Stream is nie so gevorm nie. Dit is ’n aaneenlopende vloei van klein pakkies met ’n vaste grootte — 188 grepe elk — wat enige tyd opgetel kan word.

Daardie ontwerpbesluit het uit uitsending ontstaan. Wanneer jy ’n televisie op ’n kanaal instel, begin jy nie aan die begin van enigiets nie. Jy sluit aan by ’n sein wat reeds aan die gang is, en die beeld moet binne ’n sekonde of twee verskyn. ’n Formaat met ’n opskrif vooraan en ’n indeks sou nutteloos wees: daar is geen voorkant nie.

’n Transport Stream herhaal dus voortdurend alles wat jy nodig het. Kort-kort stuur dit weer die tabelle wat beskryf watter strome daarin is, en dit sluit gereeld ’n volledige sleutelraam in waarvandaan jy kan begin dekodeer. Sluit enige plek aan en jy kan binne ’n sekonde begin speel.

Dit is die hele idee, en dit verduidelik alles anders.

Waarom internetstroming dit aangeneem het

HLS — die stromingsmetode agter die meeste regstreekse video waarna jy kyk — werk deur inhoud in kort segmente, gewoonlik twee tot tien sekondes lank, op te kap en dit in ’n manifes te lys. Jou speler haal die segmente in volgorde op, en as jou verbinding verswak, begin dit stilweg laer-gehalte-weergawes aanvra in plaas daarvan om vas te haak.

Om dit te laat werk, moet elke segment onafhanklik dekodeerbaar wees. Segment 47 kan nie afhanklik wees van ’n opskrif wat slegs in segment 1 bestaan nie, want die speler kan dalk by 47 aansluit of tussen 46 en 47 van gehalte wissel.

Transport Stream was reeds presies daardie formaat. Selfbeskrywend, enige plek beginbaar en bestand teen verlies. HLS moes nie ’n segmentformaat uitvind nie; dit het ’n uitsaaiformaat geërf wat dieselfde probleem opgelos het nog voordat die web video gehad het.

Wanneer jy dus binne ’n .m3u8-manifes kyk en sien:

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

dit is ses-sekonde Transport Stream-brokkies. Jou stroom is nie een video nie. Dit is duisende kleintjies wat in volgorde aangevra word. (Waarom jy dus nie bloot ’n stroom na MP4 kan "omskakel" nie.)

.TS teenoor .MP4

.ts (MPEG-TS).mp4
VormAaneenlopende pakkievloeiGeïndekseerde lêer met ’n opskrif
Enige plek begin?JaNee — het die opskrif nodig
Oorleef verlies?Ja, sinkroniseer weer op die volgende pakkieSkade kan die hele lêer onbruikbaar maak
DeursoekStadig, geen indeks nieVinnig, geïndekseer
Oorhoofse kosteHoër (opskrifte word voortdurend herhaal)Laer
Ontwerp virUitsending en regstreekse stromingBerging en terugspeel van volledige lêers

Nie een is beter nie. Hulle los teenoorgestelde probleme op. .ts is geoptimaliseer om aan te kom; .mp4 is geoptimaliseer om stil te lê.

Dit is ook waarom omskakeling tussen hulle in beginsel roetinewerk en verliesloos is — die video en klank daarin kan identies wees; slegs die omhulsel verander.

Waar jy .TS-lêers in die werklike wêreld teëkom

  • Binne HLS-strome. Segmente, soos hier bo beskryf. Jy sien hulle nooit afsonderlik nie; jou speler haal hulle op en gooi hulle weg.
  • Van ’n Xtream-agtige bron met output=ts. Daardie parameter vra die bediener vir rou Transport Stream eerder as gesegmenteerde HLS. (Hoe daardie URL’s saamgestel word.)
  • Van uitsaaivangtoerusting. Stemmers, vangkaarte en opnemers skryf dikwels .ts direk, omdat dit is wat oor die lug aangekom het.
  • Op Blu-ray-skywe, as .m2ts — ’n nabye familielid.
  • Van videokameras, veral AVCHD-modelle, wat ook .m2ts gebruik.

Wanneer ’n .TS-lêer nie wil speel nie

Dit gebeur gereeld, en gewoonlik weens een van vyf dinge.

1. Geen lêerassosiasie nie. Windows en macOS sluit nie ’n hanteerder vir .ts in nie. Dubbelklik doen niks, of maak iets onbruikbaars oop. Dit is nie korrupsie nie; daar is niks fout met die lêer nie. Maak dit eerder vanuit ’n speler oop.

Erger nog: op sommige stelsels is .ts aan ’n kode-redigeerder gekoppel, omdat dit ook die uitbreiding vir TypeScript-bronlêers is. ’n Video wat in ’n teksredigeerder oopmaak, is verwarrend maar skadeloos.

2. Die kodek binne-in, nie die houer nie. .ts is ’n omhulsel. Wat daarin is, kan MPEG-2 (ouer uitsendings), H.264 of HEVC wees. As jou toestel nie die kodek kan dekodeer nie, is die houer irrelevant. Die klassieke simptoom is klank wat speel terwyl die beeld swart bly. (Swart skerm maar klank werk.)

MPEG-2 is hier ’n algemene skuldige: dit is oeroud, en sommige moderne toestelle sluit dit nie meer in nie omdat niemand verwag het dat dit steeds nodig sou wees nie.

3. Ongewone klank. Uitsaaistreams bevat dikwels AC-3-, E-AC-3- of DTS-klank. Die video speel, maar daar is geen klank nie. Dit is ’n klankkodek- of deurstuurprobleem, nie ’n houerprobleem nie. (Oplossings vir geen klank.)

4. ’n Onvolledige vangs. ’n Opname wat tydens die skryfproses onderbreek word, lewer ’n gedeeltelike lêer. Transport Stream hanteer dit geleidelik — dit speel gewoonlik tot by die onderbreking — wat een van sy werklike voordele bo MP4 is, waar ’n onvolledige lêer dalk glad nie sal oopmaak nie.

5. Deursoek is stadig, en dit lyk stukkend. Daar is geen indeks nie, dus moet ’n speler wat deur ’n groot .ts-lêer beweeg, skandeer. Stadige deursoeking in ’n groot Transport Stream-lêer is normale gedrag, nie ’n fout nie.

Watter sagteware maak dit oop

Vir ’n .ts-lêer op jou rekenaar hanteer algemene spelers dit goed. VLC en mpv is die standaardantwoorde en albei maak Transport Streams direk oop, selfs moeilike gevalle. Dit is werklik waarvoor hulle die beste is.

Vir strome wat as Transport Stream oor ’n netwerk gelewer word — ’n Xtream-bron met output=ts, ’n HLS-snitlys van .ts-segmente, ’n toestel op jou LAN — is dit ’n speler se kerntaak, en Tuneline hanteer dit op macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV en Apple TV.

Om die grens presies te stel, want dit maak saak: Tuneline maak snitlyste en strome oop, nie plaaslike videolêers nie. As jy ’n .ts-opname op jou hardeskyf het, gebruik VLC of mpv. As ’n Transport Stream oor ’n netwerk by jou aankom, is dit waarvoor Tuneline gebou is.

Die output=ts-teenoor-output=m3u8-vraag

As jou bron jou laat kies — en Xtream-agtige bronne doen dit — is dit die moeite werd om te verstaan, want om dit te wissel, herstel baie terugspeelprobleme.

output=ts gee jou die rou, aaneenlopende stroom. Die wydste verenigbaarheid, werk basies oral, maar geen aanpasbare bitsnelheid nie. Op ’n swak verbinding haak dit vas eerder as om agteruit te skaal.

output=m3u8 gee jou gesegmenteerde HLS. Dit werk beter op onbetroubare verbindings omdat die speler in die middel van die stroom na ’n laer gehalte kan oorskakel, en is oor die algemeen vriendeliker vir mobiele netwerke.

Praktiese raad: probeer eers m3u8 op fone en Wi-Fi op die grens van bruikbaarheid; probeer ts wanneer iets glad nie wil speel nie. Om die parameter om te ruil, is ’n eenkarakterwysiging en los ’n verrassend groot deel van die "dit wil nie speel nie"-verslae op. (Waarom strome hakkel, en wat dit werklik regmaak.)

Die kernboodskap

  • .ts is MPEG Transport Stream, gebou vir uitsending: ’n aaneenlopende pakkievloei waarby jy enige tyd kan aansluit.
  • HLS het dit aangeneem omdat stroming onafhanklik dekodeerbare segmente nodig het, en dit presies is wat dit reeds was.
  • Jou regstreekse stroom is duisende kort .ts-segmente, nie een lêer nie.
  • .ts begin enige plek en oorleef skade; .mp4 deursoek vinnig en berg doeltreffend. Verskillende take.
  • Terugspeelfoute word gewoonlik deur die kodek binne-in (MPEG-2, HEVC, AC-3) veroorsaak, nie deur die houer nie.
  • Stadige soekwerk in ’n groot .ts is normaal — daar is geen indeks nie.

Kom daar ’n transportstroom oor die netwerk? Laai Tuneline af — gratis, sonder saamgevoegde inhoud, op elke platform wat jy besit.

Deel hierdie artikel

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.

Lees hierdie artikel in 'n ander taal

Tuneline is 'n mediaspeler-toepassing. Dit verskaf, huisves of versprei geen inhoud nie. Jy bring jou eie speellys saam, presies soos met VLC.