Initializing... drag & drop files here
Supports: TS
.ts transport stream, or click "+ Add Files" to select one or more clips. Batch conversion is supported — recordings from a DVR, IPTV capture, or camcorder can be queued together.TS (MPEG-2 Transport Stream) is the container broadcasters, IPTV boxes, and many DVRs/camcorders write to disk. It is designed for packet-loss-resilient transmission at 188-byte packets, not for the web — most browsers will not play a .ts file natively, and even when they do, the file is usually much larger than it needs to be because it carries MPEG-2 or H.264 payloads at broadcast bitrates. WebM, introduced by Google in 2010 and built on the Matroska container with VP8, VP9, or AV1 video and Opus or Vorbis audio, is the format the open web was designed around.
<video> tag pointing at a .webm file plays in Chrome, Firefox, Edge, and Safari 14.1+ without a plugin. TS in <video> is a non-starter outside of HLS streaming..ts captures. Discord's free tier caps uploads at 10 MB (raised to 500 MB on Nitro); a 1-minute 1080p clip easily fits as WebM but rarely as TS..ts for crash resilience; converting to WebM after the session gives you a clean, seekable, web-ready file without re-recording.| Property | TS (MPEG-2 Transport Stream) | WebM |
|---|---|---|
| Standardized by | ITU-T / ISO (MPEG-2 Part 1, 1995) | Google / WebM Project (2010) |
| Container design goal | Packet-loss-resilient broadcast (188-byte packets) | Web delivery via HTML5 <video> |
| Typical video codecs | MPEG-2, H.264, sometimes H.265 | VP8, VP9, AV1 |
| Typical audio codecs | MP2, AC-3, AAC | Opus, Vorbis |
| Native browser playback | No (only via HLS/MSE) | Yes (Chrome, Firefox, Edge, Safari 14.1+) |
| Seekability mid-file | Yes — designed for tune-in at any packet | No — needs headers from the start |
| Royalty-bearing codecs | Often (H.264/H.265 patents) | No — VP8/VP9/AV1/Opus/Vorbis are royalty-free |
| Common sources | DVRs, IPTV, DVB-T/S/C, camcorders, HLS segments | Web video, WebRTC recordings, YouTube downloads |
| Codec | Best for | Compression vs VP8 | Browser support |
|---|---|---|---|
| VP8 | Maximum legacy compatibility, WebRTC | Baseline | All major browsers; Android 2.3+; iOS WebRTC only |
| VP9 (default) | Modern web video, 1080p / 4K | ~30-50% smaller at same quality | Chrome, Firefox, Edge, Safari 14+, Android 4.4+ |
| AV1 | Smallest file, archive, future-proofing | ~30-50% smaller than VP9 | Chrome, Firefox, Edge, Safari 17+, Android 10+ w/ HW decode |
The HTML5 <video> element does not include MPEG-2 Transport Stream as a supported container in any major browser. TS is only consumed by browsers indirectly through HLS via Media Source Extensions, where the player JavaScript pulls down small .ts segments and demuxes them. A raw .ts file sitting on a static URL will either download as a binary or fail to play. Converting to WebM (or MP4) is the fix.
VP9 is the safe default in 2026 — it is hardware-decoded on essentially every Chromebook, modern Android, smart TV, and recent Apple device, and it gives a 30-50% size reduction versus the H.264 payload most TS files carry. AV1 gives another 30% reduction on top of VP9 but encodes much more slowly and only hardware-decodes on Android 10+ and Apple silicon Macs / iPhones from the iPhone 15 Pro generation onward. Pick AV1 only if filesize matters more than encode time and your viewers are on recent hardware.
WebM does not support AC-3. The audio will be transcoded to Opus (the default) or Vorbis. Opus handles up to 255 channels in spec but most players downmix surround tracks to stereo at standard bitrates; if you need to preserve 5.1, an MKV or MP4 container is the better target since both can carry the original AC-3 stream untouched.
Often yes. Broadcast TS can multiplex several "programs" (channels) into one stream. Our converter picks the first video + first audio program by default, which is what 99% of single-channel DVR captures contain. If your file is a multi-program transport stream (MPTS) and you need a specific channel, demux it with FFmpeg first (ffmpeg -i input.ts -map 0:p:N out.ts where N is the program ID) before uploading.
Two common reasons: (1) you picked VP8, which is less efficient than the H.264 payload inside many TS files — try VP9 instead. (2) The Quality Preset is at "Very High" while the source was already low-bitrate (under 2 Mbps for 720p); a higher preset forces the encoder to use more bits than the source has. Drop to "High" or set a Specific File Size / Constant Bitrate target.
Yes. Expand Advanced Options, open the Trim group, switch from "Unchanged" to "Time Range", and enter a start time and duration. The encoder will only process the selected window, which also means a much faster conversion than transcoding the full file.
Yes. OBS's MPEG-TS recording mode is one of the most common sources we see. The capture is usually H.264 + AAC inside the TS wrapper; transcoding to VP9 + Opus produces a clean WebM ready for upload to a site or for re-editing in a tool that prefers Matroska-family containers.
If your target is iOS/iMessage or a video editor that struggles with VP9, use TS to MP4 — MP4 with H.264 has wider device support outside the browser. For the reverse trip (WebM back to a TS-style broadcast stream is uncommon, but you can target MP4 from WebM via WebM to MP4), or shrink the source first with our TS Compressor before converting.