Convert WTV to CAVS — Free Online Tool

Convert WTV recordings from Windows Media Center into CAVS format, transcoding the video through H.264/AVC encoding and audio through AAC while packaging the output in China's national broadcast container standard. Useful for making recorded TV content compatible with CAVS-based playback systems and broadcast workflows.

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 files produced by Windows Vista/7 Media Center typically contain H.264 or MPEG-2 video alongside AC-3 or AAC audio, wrapped in a Microsoft-proprietary container with DVR metadata such as program titles and broadcast timestamps. Converting to CAVS requires fully re-encoding the video stream using libx264 (H.264/AVC) and encoding the audio as AAC, since CAVS as implemented here uses these codecs rather than the native AVS video codec. The WTV container's DVR-specific metadata, multiple audio tracks, and subtitle streams are dropped during conversion because the CAVS format does not support those features. The result is a leaner, self-contained file stripped of broadcast recording infrastructure but compatible with CAVS-oriented players and workflows.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all demuxing, decoding, encoding, and muxing steps in this WTV-to-CAVS conversion.
-i input.wtv Specifies the input WTV file — the Windows Media Center broadcast recording. FFmpeg automatically detects the WTV container and identifies its video, audio, subtitle, and metadata streams for processing.
-c:v libx264 Encodes the video stream using the libx264 encoder, producing H.264/AVC video. This re-encodes whatever video codec was in the original WTV source (H.264 or MPEG-2) into H.264 for placement in the CAVS container.
-c:a aac Encodes the primary audio stream as AAC using FFmpeg's native AAC encoder. This handles WTV sources that carry AC-3 surround audio (common in broadcast recordings) by converting them to the AAC format that the CAVS container expects.
-crf 23 Sets the Constant Rate Factor for the H.264 video encoder to 23, the default quality level. For broadcast TV content this typically yields visually transparent quality; lower values (e.g., 18) produce higher quality at larger file sizes, while higher values (e.g., 28) reduce file size at the cost of visible compression in complex scenes.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second — a standard quality level for stereo broadcast audio that balances file size and fidelity. For programs with rich audio (music, surround downmix), increasing this to 192k or 256k will better preserve the original broadcast audio quality.
output.cavs Defines the output filename with the .cavs extension, which tells FFmpeg to use the CAVS muxer to wrap the encoded H.264 video and AAC audio into the Chinese Audio Video Standard container format.

Common Use Cases

  • Preparing archived Windows Media Center broadcast recordings for distribution or playback on Chinese media platforms that require CAVS-compliant files.
  • Stripping proprietary WTV DVR metadata and packaging clean video content into a standardized Chinese broadcast format for regulatory or submission compliance.
  • Converting recorded television programs captured on a Windows 7 Media Center PC into a format accepted by CAVS-compatible set-top boxes or broadcast encoders.
  • Archiving digitized WTV recordings into a simpler, widely standardized container by removing the broadcast-recording overhead that WTV carries.
  • Re-encoding a WTV file at a controlled quality level (via CRF) to produce a predictable-size CAVS file suitable for storage on broadcast servers with strict capacity limits.
  • Testing FFmpeg-based transcoding pipelines that target CAVS output by using real-world WTV broadcast recordings as source material.

Frequently Asked Questions

No. WTV files embed rich DVR metadata — including program title, episode description, channel name, and broadcast timestamp — as part of the Microsoft container format. The CAVS container has no equivalent metadata fields, so all of this information is discarded during conversion. If preserving this metadata matters to you, export it separately before converting, for example by reading it with MediaInfo or a WTV-aware tool.
In this conversion the video is encoded with libx264, which produces H.264/AVC video, not the native AVS (Audio Video Coding Standard) codec that the CAVS standard was originally designed around. FFmpeg's CAVS container support uses H.264 and AAC as its practical codecs. If you specifically require native AVS codec encoding, that would need a dedicated AVS encoder pipeline beyond what FFmpeg's standard CAVS muxer provides.
Only the first (default) audio track is carried into the CAVS output. The CAVS format as handled here does not support multiple audio tracks, so FFmpeg will select the primary audio stream from the WTV source and encode it as AAC at 128k by default. The secondary audio track is silently dropped. If you need to preserve a specific non-default audio track, you can add '-map 0:a:1' to the FFmpeg command to select the second audio stream before conversion.
The conversion involves full re-encoding of both the video and audio streams, so it is a lossy-to-lossy transcode — sometimes called 'generation loss.' The default CRF value of 23 for H.264 produces good visual quality for most broadcast content, but there will be some degradation compared to the original WTV source, especially in fast-motion scenes or fine detail. If the WTV source was already compressed at a lower bitrate (as over-the-air recordings often are), keeping CRF at 18 or lower will minimize additional quality loss.
Yes. To improve video quality, lower the CRF value — for example, replace '-crf 23' with '-crf 18' for noticeably better detail at the cost of a larger file. To increase audio fidelity, replace '-b:a 128k' with '-b:a 192k' or '-b:a 256k'. Conversely, raising CRF to 28 or 35 will shrink the file size but reduce quality, which may be acceptable for archiving lower-priority recordings.
The single-file command shown here processes one file at a time, but you can wrap it in a shell loop for batch processing. On Linux or macOS: 'for f in *.wtv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.wtv}.cavs"; done'. On Windows Command Prompt: 'for %f in (*.wtv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.cavs"'. This is especially useful for converting a library of recorded TV programs in one pass.

Technical Notes

WTV is a container format exclusive to Windows Vista and Windows 7 Media Center, designed specifically for DVR use cases: it supports multiple audio tracks for bilingual broadcasts, embedded subtitle streams, and extensive broadcast metadata. None of these features survive in the CAVS output, since the CAVS format is a lean broadcast standard without support for subtitle tracks, chapter markers, or multi-track audio. Both input and output are lossy formats, making this a generation-loss transcode — the original WTV compression artifacts from the broadcast signal are baked in before libx264 adds its own encoding pass. The default CRF 23 setting is a reasonable balance for broadcast-resolution content (typically 720p or 1080i), but interlaced WTV sources may benefit from adding a deinterlace filter (e.g., '-vf yadif') before the CRF setting to avoid combing artifacts in the CAVS output. File sizes will vary significantly depending on the duration and motion complexity of the recorded program, but CAVS output at CRF 23 is generally comparable in size to a standard H.264 MP4 at the same quality level. There is no transparency support in either format, which is expected for broadcast video content.

Related Tools