Convert WTV to TS — Free Online Tool

Convert WTV (Windows Media Center recorded TV) files to MPEG-2 Transport Stream (TS) format, re-encoding the video with H.264 and audio with AAC. This is ideal for moving DVR recordings into a broadcast-compatible container that works with media servers, video editors, and streaming pipelines.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

WTV is a proprietary Microsoft container used by Windows Vista/7/8 Media Center to store digital broadcast recordings, typically containing MPEG-2 or H.264 video alongside AC-3 or AAC audio with embedded broadcast metadata. During this conversion, FFmpeg demuxes the WTV container and re-encodes the video stream to H.264 using libx264 (CRF 23) and the audio to AAC at 128k bitrate, then wraps everything into an MPEG-2 Transport Stream (.ts) container. The TS format is itself a broadcast standard, making it a natural migration target for recorded TV content — it supports multiple audio tracks and subtitles just as WTV does, but with vastly broader hardware and software compatibility. Note that because re-encoding occurs rather than a simple remux, some processing time is required and the original broadcast metadata embedded in the WTV file (such as program guide information and DRM markers) will not be carried over to the TS output.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm), meaning your WTV file never leaves your device.
-i input.wtv Specifies the input WTV file — the proprietary Microsoft ASF-based container used by Windows Media Center to store recorded television broadcasts.
-c:v libx264 Re-encodes the video stream to H.264 using the libx264 encoder. This is necessary because the source WTV may contain MPEG-2 or other video not natively supported by the TS container in all playback environments, and H.264 in TS is the most universally compatible option.
-c:a aac Re-encodes the audio to AAC, replacing whatever audio codec was used in the original WTV recording (often AC-3 or MP2). AAC is well-supported in TS containers and is required for HLS compatibility.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, which is the libx264 default and produces a good balance of visual quality and file size for recorded TV content. Lower values (e.g., 18) increase quality and file size; higher values (e.g., 28) reduce both.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is sufficient for standard broadcast TV audio (stereo speech and music). Increase to 192k or 256k if the source has high-quality surround audio you want to preserve more faithfully.
output.ts Defines the output file as an MPEG-2 Transport Stream. FFmpeg infers the TS container format from the .ts extension, wrapping the H.264 video and AAC audio in a mux format that is standard in broadcast television and compatible with HLS streaming workflows.

Common Use Cases

  • Import Windows Media Center DVR recordings into video editing software like DaVinci Resolve or Premiere Pro, which may not support the WTV container natively
  • Transfer recorded TV episodes from an old Windows Media Center PC to a Plex or Jellyfin media server that serves TS files more reliably than WTV
  • Prepare recorded broadcast content for HLS-based streaming pipelines, since TS segments are the standard chunk format for HLS delivery
  • Archive over-the-air or cable TV recordings in a universally supported container before decommissioning a Windows Media Center installation
  • Feed recorded TV content into broadcast playout systems or IPTV middleware that expects MPEG-2 Transport Stream input
  • Strip WTV-specific DRM and metadata wrappers to recover the underlying video content for long-term storage in an open format

Frequently Asked Questions

It depends on how the captions are embedded in your WTV file. WTV can carry CEA-608/708 closed captions embedded within the video stream itself, which may pass through during re-encoding depending on the source signal type. The MPEG-2 Transport Stream format does support subtitles, but the FFmpeg command shown here does not include explicit subtitle mapping flags. If preserving captions is critical, you should add '-c:s copy' or a specific subtitle codec flag to the command and verify the source stream contains a mappable subtitle track.
By default, FFmpeg selects only the best-ranked audio stream from the WTV input, which typically means just the primary audio track. If your recording contains Secondary Audio Program (SAP) or multiple language tracks, you will need to add '-map 0:v -map 0:a' flags to the command to explicitly map all audio streams. Both WTV and TS support multiple audio tracks, so the container is not the limiting factor — it is simply a matter of telling FFmpeg to include them.
This conversion involves a full re-encode of the video at CRF 23 with libx264, which is a visually transparent quality level for most content but is not a lossless copy. If the source WTV file contained MPEG-2 video (common for over-the-air recordings), the re-encode introduces a generation of compression loss. If you want higher fidelity, lower the CRF value toward 18 or 10 in the FFmpeg command — lower CRF means higher quality at the cost of a larger file.
WTV files store rich broadcast metadata — program title, episode description, channel name, air date, and ratings — in a proprietary Microsoft format within the container. FFmpeg can read some of this metadata but does not fully translate it into the TS output, and the MPEG-2 Transport Stream format uses a different metadata scheme (PSI/SI tables) than WTV. You should expect most or all of this descriptive metadata to be lost in the conversion. If preserving show information matters, consider extracting it with a tool like MCEBuddy before converting.
To adjust video quality, change the '-crf 23' value — lower numbers mean higher quality and larger files (18 is near-visually lossless for H.264, 28 is noticeably compressed). To change audio quality, modify the '-b:a 128k' value to something like '192k' or '256k' for better fidelity, or '96k' for smaller files. For example, a high-quality conversion command would look like: ffmpeg -i input.wtv -c:v libx264 -c:a aac -crf 18 -b:a 192k output.ts
Yes. On Windows, you can run a batch loop in Command Prompt: 'for %f in (*.wtv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.ts"'. On Linux or macOS, use: 'for f in *.wtv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.wtv}.ts"; done'. This is particularly useful for archiving an entire Media Center library at once. Note that this browser-based tool processes one file at a time and is best suited for files under 1GB.

Technical Notes

WTV files produced by Windows Media Center commonly contain MPEG-2 video (from ATSC or CableCARD tuners) or H.264 video (from some cable sources), paired with AC-3 Dolby Digital or AAC audio. FFmpeg has solid WTV demuxing support but does not expose all proprietary WTV metadata fields. The output MPEG-2 Transport Stream format is byte-for-byte the same container used in broadcast television and HLS streaming, making the resulting .ts files compatible with VLC, ffplay, most smart TVs, Plex, Jellyfin, and virtually all professional broadcast tools. Because H.264 in a TS container is sometimes referred to as 'H.264 over MPEG-TS', this output is directly HLS-compatible — useful if you intend to segment the file for web streaming later. One known limitation is that WTV's ASF-based container structure means very long recordings (2+ hours) may have inaccurate duration reporting during FFmpeg processing; the output file will still be complete. DRM-protected WTV files recorded from premium cable channels cannot be decoded by FFmpeg and will produce an error or silent/black output.

Related Tools