TS / M2TS
Gebouwd voor broadcast, waar de ontvanger halverwege kan instappen en niets een einde heeft.
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
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
- 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.
- 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.
- 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.
Vragen over dit format
Verwante formaten
Je bibliotheek, eindelijk op één plek.
Gratis te downloaden. Geen account, geen aanmelding, niets om af te geven.