Convert FLV to WTV — Free Online Tool
Convert FLV (Flash Video) files to WTV (Windows Television) format directly in your browser, re-encoding the video with H.264 and audio with AAC — transforming a legacy web streaming container into a Windows Media Center-compatible broadcast recording format. This is especially useful for archiving old Flash-based video captures alongside your DVR library in a format that preserves metadata and supports multiple audio tracks.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
FLV is a container historically used by Adobe Flash Player for web video delivery, typically carrying H.264 or Sorenson Spark video and AAC or MP3 audio. WTV is Windows Media Center's native recorded-TV container, designed for digital broadcast storage with support for DVR metadata, subtitles, and multiple audio tracks. Because these containers serve fundamentally different purposes, this conversion is a full transcode: the video stream is re-encoded to H.264 (libx264) and the audio is re-encoded to AAC, then both are wrapped in the WTV container structure that Windows Media Center and compatible players expect. No stream copying is possible here — the container metadata schemas and internal structure are entirely incompatible, so FFmpeg rebuilds the output from scratch.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles the full decode-encode pipeline required to move content from the FLV container into WTV format. |
-i input.flv
|
Specifies the input FLV file. FFmpeg will detect and decode whatever video codec is present (H.264, FLV1/Sorenson Spark, or VP6) along with the audio (AAC or MP3) before re-encoding. |
-c:v libx264
|
Re-encodes the video stream using the libx264 H.264 encoder, which is required because WTV's expected video codec is H.264 and direct stream copying from FLV is not viable given the container incompatibility. |
-c:a aac
|
Re-encodes the audio stream to AAC, the default and most compatible audio codec for the WTV container, ensuring playback in Windows Media Center and Windows Media Player. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, the default quality level that balances file size and visual fidelity. Lower values (e.g., 18) produce higher quality at the cost of larger WTV output files. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kbps, a standard quality level suitable for most speech and music content. Increase to 192k or 320k if the source FLV contains high-quality audio worth preserving more faithfully. |
output.wtv
|
Specifies the output filename with the .wtv extension, which tells FFmpeg to use the WTV muxer and wrap the encoded H.264 video and AAC audio in the Windows Television container format. |
Common Use Cases
- Archiving old Flash-based video captures or screen recordings from legacy web platforms into a Windows Media Center library alongside recorded TV content
- Integrating downloaded FLV lecture recordings or webinar archives into a WTV-based home media server so they appear alongside DVR recordings in Windows Media Center
- Preserving FLV footage from discontinued Flash video platforms in a longer-lived, locally playable format supported natively by Windows without additional codecs
- Converting FLV sports highlights or event recordings into WTV so they can be browsed, paused, and rewound using Windows Media Center's DVR-style playback interface
- Preparing Flash video content for cataloguing in a Windows-based media archive that relies on WTV's metadata embedding capabilities for searchable library organization
- Migrating a collection of FLV files captured from early streaming platforms into a unified WTV archive that supports multiple audio tracks for multilingual content
Frequently Asked Questions
Yes, this conversion is a lossy transcode — both the video and audio are fully re-encoded rather than copied. The default CRF value of 23 for libx264 produces good visual quality that is nearly indistinguishable from the source for most content, but some generation loss is inherent. If your FLV source was already heavily compressed, re-encoding introduces additional compression artifacts. To minimize quality loss, lower the CRF value (e.g., to 18) at the cost of a larger output file.
Yes, WTV is the native recorded-TV format for Windows Vista and later Windows Media Center editions, so a properly formed WTV file will be recognized and playable. However, Windows Media Center typically expects WTV files to contain broadcast-style metadata (channel, program name, etc.) that this conversion does not inject, so the file may appear in the library without rich guide data. It will still play correctly using Media Center or Windows Media Player.
No subtitles are added during this conversion. Since FLV does not carry subtitle streams, there is no subtitle data to transfer into the WTV output. The WTV format's subtitle support only becomes relevant if you have a source file that contains subtitle tracks — in this case, the FLV source has none, so the output WTV file will also have no subtitles.
Yes, FFmpeg can decode Sorenson Spark (FLV1) and VP6 video streams found in older FLV files and re-encode them to H.264 for the WTV output. The command does not change — FFmpeg automatically detects the source video codec and decodes it appropriately before re-encoding with libx264. Files from very early Flash video platforms often use these older codecs, so this conversion is particularly useful for modernizing that content.
To change video quality, modify the -crf value: lower numbers mean higher quality and larger files (e.g., -crf 18 for high quality) while higher numbers reduce quality and file size (e.g., -crf 28 for smaller files). To change audio bitrate, modify the -b:a value, for example replacing 128k with 192k or 320k for higher-fidelity audio. Both adjustments can be combined, e.g.: ffmpeg -i input.flv -c:v libx264 -c:a aac -crf 18 -b:a 192k output.wtv
Yes, on Windows you can use a simple for loop in Command Prompt: for %f in (*.flv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.wtv". On Linux or macOS, use: for f in *.flv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.flv}.wtv"; done. Batch processing is especially valuable for this conversion since FLV archives from old web platforms often contain dozens or hundreds of files.
Technical Notes
FLV was designed exclusively for HTTP-based web streaming via Adobe Flash Player and carries minimal container-level metadata — no chapter support, no multiple audio tracks, and no subtitle capability. WTV, by contrast, is a rich broadcast recording container built around Windows Media Center's DVR infrastructure, supporting DVR metadata embedding, multiple audio tracks, and subtitle streams. Because neither container supports stream copying between them and their internal structures are entirely different, FFmpeg performs a full transcode: libx264 re-encodes the video using CRF-based constant quality, and the AAC encoder handles audio at a fixed bitrate. One important limitation to be aware of is that WTV files generated by FFmpeg will lack the broadcast-specific metadata (EPG data, channel information, recording timestamps) that Windows Media Center normally writes when recording live TV — the resulting file is a valid WTV container but will appear as an unidentified recording in the Media Center library. File sizes will vary significantly depending on the source FLV's resolution and bitrate; FLV files from early web streaming platforms were often encoded at low bitrates, so the WTV output at default CRF 23 may actually be larger than the source if the original was heavily compressed.