FLV and F4V to MP4: Convert Old Flash Video Files
Flash is gone and your archived .flv and .f4v downloads no longer play. Here is how to tell whether a file can be remuxed to MP4 in seconds or needs a re-encode, with real ffmpeg commands and a no-install online route.
You double-click conference-2009.flv, Chrome opens a tab, and nothing happens — a black rectangle, a download prompt, or a silent failure. The file isn't corrupted. The player that used to read it no longer exists in any browser on earth.
Why your Flash video won't play anymore
FLV (Flash Video) was the web video format from roughly 2003 to 2012. YouTube, Vimeo, lecture portals and news sites all served it, and every download manager of that era saved .flv files to your drive. F4V arrived later as Adobe's MP4-based successor, used for higher-quality H.264 streams.
Adobe ended Flash Player support on 31 December 2020, and browsers removed the plugin entirely. Nothing in Chrome, Edge, Safari or Firefox can decode an FLV container today. Windows' built-in players ignore it too, which is why old FLV downloads look unplayable even though the video data inside is usually perfectly intact.
That last point is the good news: converting FLV to MP4 is often not a conversion at all — it's a container swap that takes seconds and loses nothing.
Two containers, four possible codecs
A container is a box. The codec is what's inside the box. FLV files from different eras carry very different cargo:
- H.264 video + AAC audio (roughly 2008 onwards) — the exact same codecs modern MP4 uses. Copy, don't convert.
- VP6 (`vp6f`) or Sorenson Spark (`flv1`) video + MP3 audio (2003–2008) — legacy codecs MP4 players can't handle. These need a real re-encode.
- F4V is already an MP4-family container holding H.264/AAC, so it almost always remuxes cleanly.
- Nellymoser or ADPCM audio shows up in old webcam recordings and screen captures; audio has to be re-encoded even when video can be copied.
So the first job is not converting. It's looking inside the file.
Step 1: check what's inside the file
If you have ffmpeg installed, ffprobe tells you in one line:
ffprobe -v error -show_entries stream=codec_type,codec_name \
-of csv=p=0 lecture-2009.flvA modern-ish file answers:
video,h264
audio,aacAn early one answers video,vp6f and audio,mp3. That single output decides which of the next two steps you take.
Step 2a: the fast path — remux H.264 to MP4
When the video stream is h264, you are moving bytes from one box to another. No quality loss, no re-encoding, no waiting:
ffmpeg -i lecture-2009.flv -c copy -movflags +faststart lecture-2009.mp4A 480 MB, 90-minute lecture finishes in about three seconds on a laptop and the MP4 comes out at essentially the same size — a megabyte or two of container overhead either way. -movflags +faststart moves the index to the front of the file so it starts playing immediately when streamed or opened from a NAS.
If the video is H.264 but the audio is MP3 or Nellymoser, copy the video and convert only the sound:
ffmpeg -i webcast.flv -c:v copy -c:a aac -b:a 192k -movflags +faststart webcast.mp4F4V behaves the same way — ffmpeg -i webinar.f4v -c copy webinar.mp4 is usually all a .f4v file needs.
Step 2b: the slow path — re-encoding VP6 and Sorenson
Files with vp6f or flv1 video have to be decoded and re-encoded, which does cost some quality. Use a conservative CRF so you don't stack a second generation of visible artefacts on footage that is already soft:
ffmpeg -i music-video-2006.flv \
-c:v libx264 -preset slow -crf 20 -pix_fmt yuv420p \
-c:a aac -b:a 160k -movflags +faststart \
music-video-2006.mp4Notes that matter in practice:
- CRF 18–20 is the sweet spot for 320×240 or 480×360 Flash-era footage. Lower numbers = bigger file, not visibly better source.
- Don't upscale. A 400×300 VP6 clip stays 400×300; stretching it to 1080p just makes a 10× larger blurry file.
- `-pix_fmt yuv420p` keeps the result playable on phones, TVs and QuickTime.
- Expect a 5-minute clip to take roughly 30–60 seconds, not three seconds.
The no-install route: convert FLV to MP4 in the browser
If you have a handful of files and no appetite for a command line, use our FLV to MP4 converter: drop the file in, let it process, download the MP4. It handles the codec question for you — H.264 streams are passed through, legacy VP6 and Sorenson streams get re-encoded to H.264/AAC — so you get a file that plays in any browser, on iPhone and Android, and in Premiere or DaVinci Resolve.
The same workflow applies to .f4v files, and if your archive folder also contains WMV, MKV or AVI rescues from the same era, the video converter hub covers those formats too.
Converting a whole archive folder at once
Found a 2007 backup drive with 300 FLV files? Loop over them. This version copies H.264 where it can and falls back to a re-encode when the copy fails:
for f in *.flv; do
ffmpeg -nostdin -i "$f" -c copy -movflags +faststart "${f%.flv}.mp4" \
|| ffmpeg -nostdin -y -i "$f" -c:v libx264 -crf 20 -c:a aac "${f%.flv}.mp4"
doneOn Windows PowerShell, swap the loop for Get-ChildItem *.flv | ForEach-Object { ... }. Run it against a copy of the folder first, and keep the originals until you've spot-checked a few outputs.
A sane plan for your Flash archive
- Probe one file per era of your collection — the answer usually applies to the whole batch from that source.
- Remux everything that is already H.264. It's free, instant and lossless.
- Re-encode the VP6/Sorenson stragglers once, at CRF 20, and don't upscale.
- Keep originals on a backup drive until the MP4s are verified; FLV metadata like cue points is dropped in conversion.
- For a few files, skip the tooling entirely and use the online converter.
Flash is dead, but the footage isn't. A container swap is all that stands between a silent black tab and a video that plays everywhere.
FAQ
Why won't my FLV file open in Chrome? Chrome removed Flash Player support at the end of 2020 and never supported the FLV container natively. The file isn't broken; no modern browser can read that container. Convert it to MP4 and it will open in the same tab you just tried.
Does converting FLV to MP4 lose quality? Not if the video inside is H.264 — -c copy moves the exact same stream into a new container. Only VP6 and Sorenson Spark files are genuinely re-encoded, and at CRF 18–20 the loss is hard to see.
Is F4V the same as MP4? Almost. F4V is Adobe's MP4-based container, so the extension rename sometimes even works — but a proper remux (ffmpeg -i file.f4v -c copy file.mp4) rewrites the headers correctly and avoids players rejecting the file.
Can VLC play FLV files? Yes, VLC still decodes FLV, VP6 and Sorenson. It's a good way to verify a file before converting — but VLC won't help you import the clip into an editor, a phone or a web page, which is why MP4 is still the right destination.
What's a free FLV to MP4 converter that doesn't install anything? The browser-based converter linked above handles both FLV and F4V without software installation; ffmpeg is the free offline option if you prefer local processing or have hundreds of files.
My converted MP4 has no sound. What happened? The source probably used Nellymoser or ADPCM audio. Re-run with -c:a aac -b:a 192k instead of copying the audio stream.
