Initializing... drag & drop files here
Supports: MP4, M4V
This page is for anyone who needs an MPEG transport stream (.ts) from an ordinary MP4 — to feed an IPTV server, produce classic HLS segments, hand material to a playout or DVB chain, or load video onto hardware that only ingests transport streams. By the end you will have a .ts with the right codec pair, and you will know the two things that surprise people most: the file is re-encoded rather than repackaged, and it comes out slightly larger than the MP4 you started with.
.ts file. No sign-up, no watermark.TS is a container, not a compression method. It wraps whatever codec you select into fixed 188-byte packets so a receiver can join mid-stream and recover from losses — which is why broadcast, IPTV and traditional HLS all use it. The codec pair therefore decides compatibility, and the container decides packaging.
| Target | Video Codec | Audio Codec | Notes |
|---|---|---|---|
| IPTV server, classic HLS segments | H.264 | AAC | The default pair and the safest choice by a wide margin |
| Modern set-top box or TV that decodes HEVC | H.265 | AAC | Confirm the device first — many older boxes and TVs cannot decode HEVC |
| Legacy DVB / DVD-era playout | MPEG-2 | MP2 or AC3 | What broadcast chains built before 2010 usually expect |
| Home theatre receiver with surround | H.264 | AC3 or EAC3 | AC3 is the pairing consumer AV hardware handles most reliably |
| Local test playback in VLC or ffmpeg | H.264 | AAC | Works without any extra configuration |
MPEG-4, Xvid and DivX are also selectable and will mux into the stream, but they are not what transport-stream hardware expects — treat them as niche options rather than compatible choices.
| Property | TS (this page) | M2TS | MP4 |
|---|---|---|---|
| Packet framing | Plain 188-byte packets, sync byte 0x47 at each boundary |
192-byte packets — a 4-byte arrival-timestamp prefix before each 188-byte packet | Not packetized; boxes and an index |
| Designed for | Transmission, broadcast, IPTV | Blu-ray / AVCHD disc playback | Storage and file-based playback |
| Default codecs here | H.264 + AAC | H.264 + AAC | H.264 + AAC |
| Container overhead | ~2% from packet headers, plus repeated PAT/PMT tables | Slightly higher than TS | Lowest of the three |
| Seeking behaviour | Scan-based; no global index | Scan-based | Index-driven, instant |
| Plays in a browser | No | No | Yes |
The framing difference is easy to check yourself: open a .ts in a hex viewer and you will find 0x47 at every 188-byte boundary, while a .m2ts has four extra bytes before each of those sync bytes. If you specifically need the Blu-ray style framing, use MP4 to M2TS instead.
.ts will not play in my browser or phone gallery" — Expected. Browsers and mobile galleries do not open raw transport streams. Use VLC or another TS-aware player, or convert back with TS to MP4 for a file that plays everywhere..ts is one continuous stream. Cut it first with the Video Cutter, or run the output through your streaming packager to produce the .m3u8 and numbered segments.DRM-protected purchases, partially downloaded files and truncated recordings cannot be converted — the source has to be a complete, playable MP4. The output is also a single transport-stream file, not a packaged HLS delivery: RFC 8216 permits both MPEG-2 transport-stream segments and fragmented-MP4 (CMAF) segments, and many current platforms have moved to the latter, so confirm your delivery system still wants .ts before building a workflow around it. Nothing here deinterlaces, either — an interlaced source keeps its combing in the encoded frames.
It re-encodes. The server runs a real encode rather than copying the existing stream into a new container, so the conversion is a fresh lossy generation even when you leave Video Codec on H.264. Keeping the quality preset high, or setting a bitrate at or above the source's, keeps that generation hard to see — but it is not a bit-for-bit repackage, and no setting on this page makes it one.
Two reasons stack up. Transport streams spend 4 bytes of every 188-byte packet on a header — about 2% before anything else — and they repeat program tables (PAT/PMT) and timing references throughout the stream so a receiver can join partway through. MP4 stores its index once. On top of that, a re-encode at a generous quality preset can target a higher bitrate than the source used.
.ts and .m2ts?Packet size. A .ts uses the plain 188-byte MPEG transport packet. A .m2ts uses BDAV framing: the same 188-byte packet with a 4-byte arrival timestamp in front, giving 192-byte packets, which is what Blu-ray and AVCHD players expect. A single .m2ts file is still not a disc structure — there is no BDMV/STREAM folder layout — so it is best thought of as a differently framed transport stream.
H.264 video with AAC audio. That is the default here and the pairing that classic .ts HLS segments and virtually all IPTV middleware were built around. Reserve H.265 for targets you have confirmed decode HEVC, and MPEG-2 with MP2 or AC3 for legacy DVB workflows.
.m3u8 playlist here?No. This produces one continuous .ts file. HLS needs a playlist plus numbered segments, which a packager generates from a mezzanine file — this converter makes that mezzanine. If you only need a short piece, trim it during conversion or split it afterwards with the Video Cutter.
Transport streams can carry many elementary streams by design, but this conversion produces a single video and a single audio stream in the codecs you selected. Multi-track audio, subtitle PIDs and service information belong to broadcast packaging tools that run after conversion.
.ts play on my TV?Only if the TV's decoder supports HEVC in a transport stream, which varies by model year and firmware more than any other setting on this page. If you are not certain, keep Video Codec on H.264: it is universally decoded by transport-stream hardware, and the file-size penalty is smaller than the risk of an unplayable file.
Uploads travel over an encrypted connection, are converted on our servers, and are deleted automatically a few hours afterwards — never shared, never made public, no sign-up. The practical limit is upload size and time rather than anything in the encoder. To go back the other way, TS to MP4 produces a file that plays everywhere; to shrink a large result, run it through the Video Compressor.