How to Play .TS (MPEG-TS) Files in Your Browser — No Conversion Needed

How to Play .TS (MPEG-TS) Files in Your Browser — No Conversion Needed
You've got a .ts file. It came from a PVR/DVR recording, an IPTV capture, a dashcam, a digital-TV grab, or a download that arrived in pieces. You double-click it and nothing useful happens; you drag it into Chrome and it just downloads again.
The .ts extension confuses a lot of people, partly because it shows up in two very different places. Let's clear that up, then get your file playing — in a browser tab, decoded locally, with no conversion.
What a .TS File Actually Is
.ts stands for MPEG Transport Stream. It was designed for broadcasting, not for sitting on a hard drive. Digital TV, IPTV, and satellite all needed a format that could be chopped into small, fixed-size packets and streamed over a noisy connection where packets might drop — so MPEG-TS wraps the video and audio in a stream of 188-byte packets built for error-resilient transmission.
That's a totally different job from a normal "play this file" container like MP4. The video inside a .ts is usually H.264 or HEVC — codecs your browser can often decode. But the transport-stream packaging around it is something the <video> tag won't open as a standalone file.
Here's the part that trips people up: browsers do handle
.ts— but only as segments inside an HLS playlist (.m3u8). A lone.tsfile on its own isn't a playlist, so the browser has nothing to play it with. If you're dealing with streaming links rather than a saved file, our HLS / m3u8 streaming guide is the one you want.
So: the codec is often fine, the container is the problem — the same theme behind why MKV and AVI won't play either. For the full container-vs-codec story, see our video formats guide.
The Usual Fixes — and Why They're a Pain
1. Remux/convert it (FFmpeg)
A .ts with H.264 inside can often be remuxed into an .mp4 without re-encoding. That's faster than a full transcode, but it still means running a command-line tool, producing a second file, and knowing the right incantation. Not exactly drag-and-drop.
2. Upload it to an online player/converter
Wait for the whole file to upload to someone else's server before you can watch — with the usual privacy and size-limit baggage. Dashcam and personal recordings really shouldn't take that trip.
3. Install VLC
VLC plays .ts well. But, again: an install, blocked on managed machines, clumsy on mobile, not shareable as a link.
The Better Way: Decode the Transport Stream Locally
OnlinePlayer opens a .ts file by reading the transport stream and decoding it on your own device, right in the browser — no conversion step, no upload, no install.
There's a nice technical detail here specific to transport streams: MPEG-TS files are routed straight to the local decoder rather than through a forced re-encode (which, for these containers, tends to stall). From there:
- Hardware decoding (WebCodecs). When the codec inside — typically H.264 or HEVC — can be hardware-decoded on your device, it goes to your GPU. Smooth playback, low CPU, good on battery, fine with HD/4K recordings.
- Software decoding (FFmpeg in WebAssembly). When it can't, OnlinePlayer decodes in software, now using two parallel workers for about 1.8× the throughput.
Everything happens in the tab; the file never leaves your computer. If you're curious how the hardware/software decision gets made, hardware vs software decoding walks through it.
Step-by-Step: Play Your .TS File Now
- Open onlineplayer.app in any modern browser.
- Drag your
.tsfile onto the page — or click to browse. A saved.tsfile is decoded on your device, so it needs to be local; if it's in a cloud drive, download it first, then drop it in. - It plays — locally, nothing uploaded.
If instead you have an IPTV / streaming link (an .m3u8 that references .ts segments), paste the link using the play-from-URL flow — that's the streaming path, and it's a different thing from a saved .ts file.
.TS in the Browser vs. the Alternatives
| Remux/convert (FFmpeg) | Online converter (upload) | Install VLC | OnlinePlayer | |
|---|---|---|---|---|
| Time to first frame | Command line + new file | Full upload first | Install + open | Instant |
| Privacy | Local ✅ | File on their server ❌ | Local ✅ | Local — nothing uploaded ✅ |
| Ease | Needs the right command | Easy but slow | Easy after install | Drag and drop |
| Install needed | Yes (FFmpeg) | No | Yes | No |
| Works on locked-down / mobile | No | Sometimes | Limited | Yes (it's a web page) |
The Honest Limits
- A standalone
.tsis a saved file, not a live stream. Drag the file in for local decoding. Live IPTV/HLS links go through the URL/streaming path instead. - Exotic or partial captures can be rough — broadcast grabs sometimes have missing packets or odd timestamps. Most clean recordings play fine; a damaged capture may stutter or skip.
- Surround audio is downmixed to stereo, as with any browser-based player.
FAQ
What's the difference between a .ts file and HLS?
HLS (.m3u8) is a playlist that strings together many small .ts segments for streaming; browsers understand that. A single .ts file on its own is just one transport-stream chunk with no playlist, so the browser can't play it directly — which is exactly what local decoding solves.
My .ts came from a dashcam / DVR — will it work?
Usually yes. These are typically H.264 inside a transport stream, which decodes cleanly. Decode it locally so the footage never leaves your device.
Do I need to convert it to MP4 first? No. Open it directly; there's no remux step and no second file on your disk.
Can I play a .ts from my cloud drive without downloading it?
Not by streaming — cloud playback only handles browser-native formats. Download the .ts to your device first, then open it locally.
Bottom Line
A .ts file won't play in your browser because it's a transport stream built for broadcasting, not a normal playback container — even though the video inside is usually something your browser could decode. Skip the FFmpeg incantations and the uploads: open it in a player that decodes the stream locally, and it plays in about a second.