Container MPEG Transport Stream

TS / M2TS

Gebouwd voor broadcast, waar de ontvanger halverwege kan instappen en niets een einde heeft.

Kort gezegd

MPEG Transport Stream is dat waarvoor televisie wordt uitgezonden. Het is zo gebouwd dat een ontvanger altijd kan decoderen en dataverlies aankan — uitstekend over de ether, onhandig als bestand: er is geen index, springen is gokken, en duren ontbreken vaak of kloppen niet.

30 juli 2026

Zonder hulp geopend door

iPhone · iPad Weigert
Mac Weigert
FoxDL Opent

Geen van beide systemen opent een .ts- of .m2ts-bestand, hoewel beide de H.264 of HEVC erin prima decoderen zodra iets anders de verpakking heeft afgenomen. Weer is de verpakking het obstakel.

De feiten

Volledige naam MPEG-2 Transport Stream
Soort Container, bedoeld voor overdracht in plaats van opslag
Extensies .ts, .m2ts, .mts, .m2t
Gepubliceerd 1995, als deel van MPEG-2
Pakketgrootte 188 byte, vast — klein genoeg dat een kapot pakket bijna niets kost
Video erin MPEG-2 bij oudere uitzendingen, H.264 en HEVC bij nieuwere
Audio erin AC-3, E-AC-3, AAC, MP2
Index Geen. Niets in het bestand zegt waar een bepaald moment ligt
Waar het vandaan komt IPTV-streams, DVB- en ATSC-opnames, AVCHD-camcorders, blu-ray-discs

Een formaat zonder begin

Elke andere container hier gaat ervan uit dat je het hele bestand hebt en eerst de header kunt lezen. Transport Stream gaat van het tegenovergestelde uit: je bent halverwege in een uitzending gestapt die vóór jou begon en ná jou doorloopt. Dus herhaalt hij alles wat een decoder nodig heeft — streamlayout, timingreferenties, parameters — elke fractie van een seconde, voor altijd.

De 188-byte-pakketten zijn hetzelfde idee. Storing vernietigt één pakket; de decoder verliest een paar milliseconden en gaat door. Een formaat rond een grote index zou de hele rest van het bestand verliezen.

Dat is echt goede techniek voor het doel — en de verkeerde vorm voor een bestand op schijf. Alles wat een uitzending robuust maakt, maakt een opname onhandig.

Waarom een opname zich vreemd gedraagt

Zonder index moet een app die naar de 47-minutenmarkering wil, schatten: bitrate maal tijd, grof springen, naar het volgende decodeerbare frame zoeken. Bij constante bitrate landt dat dichtbij. Bij variabele bitrate kunnen seconden ontbreken, en bij een uit onderbroken stream samengestelde opname minuten.

De duur heeft dezelfde oorsprong. De app moet óf het hele bestand lezen om de lengte te weten, óf uit de bitrate raden. Daarom toont een opname soms een verkeerde lengte — of geen — en kan de scrubbalk een fictie zijn.

De reparatie is remuxen: de stream één keer lezen en dezelfde video en audio in een MP4 of MKV met echte index schrijven. Er wordt niets opnieuw geëncodeerd, de kwaliteit blijft, en het loopt met schijfsnelheid. Daarna is springen direct en exact, omdat het bestand eindelijk weet waar zijn eigen frames liggen.

Wat je ermee doet

  1. Direct afspelen als je alleen wilt kijken

    Een app met eigen demuxer opent een .ts zonder voorbereiding. Springen blijft bij benadering — dat is het formaat, niet de app — maar om door te kijken volstaat het.

  2. Naar MP4 of MKV remuxen als je hem bewaart

    Snel, verliesvrij en lost springen en duur permanent op. Voor alles wat in een bibliotheek gaat in plaats van eenmaal bekeken te worden, doe dat.

  3. IPTV-streams met rust laten

    Komt TS als live-stream in plaats van als bestand, dan geldt niets hiervan: er is niets te indexeren, omdat niets is geëindigd. Buffering is daar een netwerkvraag.

De lange versie M3U, Xtream Codes, EPG: wat de woorden betekenen en welke jij hebt M3U of Xtream, wat een EPG nodig heeft om te werken, waar bufferen vandaan komt, en wie het kan oplossen.

Vragen over dit format

Verwante formaten

Je bibliotheek, eindelijk op één plek.

Gratis te downloaden. Geen account, geen aanmelding, niets om af te geven.

Download in de App Store