PicaJet

Reference Formats

FLV

FLV is a container format built for Adobe Flash Player, wrapping video codecs like Sorenson Spark, VP6, or H.264 together with MP3, Nellymoser, or AAC audio into a single streamable file.

Extension

.flv

Full name

Flash Video

Introduced

2003

Vendor

Macromedia (later Adobe Systems)

What is inside the container

FLV itself carries no codec of its own — early files used Sorenson Spark (H.263-derived) or On2's VP6, and from Flash Player 9 Update 3 (December 2007) onward files could carry H.264 video with AAC audio. Because the wrapper stayed constant while the codecs inside it changed over a decade, two files with the .flv extension can require completely different decoders. Adobe's own successor container, F4V, is MP4-based and was introduced specifically to move toward standard H.264/AAC packaging.

How to open it

Windows / macOS / Linux VLC Media Player opens FLV natively via its built-in demuxer — no Flash Player installation required or even possible anymore.
Command line (any OS) ffmpeg reads FLV directly: `ffmpeg -i input.flv -c copy output.mp4` remuxes H.264/AAC-based FLV into MP4 without re-encoding; older Sorenson/VP6 files need `-c:v libx264` to actually transcode.
Batch transcoding HandBrake can ingest FLV (via its libav/ffmpeg backend) for bulk conversion to MP4 or WebM ahead of DAM re-ingestion.
Modern browsers / OS-native players None play FLV directly — Flash Player reached end-of-life December 31, 2020 and Adobe began blocking it in January 2021, so QuickTime, Windows Movies & TV, and all current browsers require the file to be converted first.

For archives

Inspect the codec inside each FLV before batch processing — files from 2008 onward are often H.264/AAC and can be remuxed into MP4 losslessly, while pre-2008 Sorenson Spark or VP6 files must be re-encoded, which is a real quality/generation-loss decision worth flagging in the asset record. Because Flash Player no longer exists on any current OS or browser, an FLV sitting untouched in a DAM is effectively unplayable to end users regardless of technical validity, so treat FLV libraries as a migration backlog rather than a stable archival format. Keep the original FLV as the preservation master only if it's the true source file (e.g., a 2006-era web export with no other original); otherwise the safer master format going forward is H.264 or H.265 in MP4.

Macromedia introduced FLV in 2003 as the delivery format for Flash Player’s video streaming, and it quickly became the default wrapper for online video in the mid-2000s — YouTube, Hulu, and Vevo all ran on FLV in their early years, since Flash was the only cross-browser way to reliably embed video before HTML5. The format itself was a thin streaming-friendly shell: it didn’t dictate a codec, so as Flash Player evolved from Sorenson Spark to On2’s VP6 and eventually to standard H.264, the FLV wrapper simply carried whatever the current Flash Player release could decode.

That flexibility is now a liability for anyone managing an asset library that predates 2012 or so. Adobe ended Flash Player support on December 31, 2020, and actively blocked it from running the following month — no current browser, and no current version of macOS or Windows, plays FLV natively. A DAM holding a large FLV collection (common for organizations with an active web-video presence in the Flash era) is holding files nobody can preview without a conversion step first.

The practical complication for a DAM ingest pipeline is that not every FLV file is the same underneath. A 2006 marketing clip encoded with Sorenson Spark needs full transcoding to a modern codec, while a 2009 clip already using H.264 inside the FLV wrapper can often be remuxed straight into MP4 with zero quality loss — the video bitstream doesn’t need to be touched, only the container around it changes. Getting that distinction right, per file, is the difference between a fast lossless migration and an unnecessary re-encode that degrades a source asset.

EraVideo codecAudio codecMigration path
2003 – late 2007Sorenson Spark (H.263-derived) or On2 VP6MP3, NellymoserFull transcode required — no lossless shortcut
Late 2007 onward (Flash Player 9 Update 3+)H.264AACLosslessly remuxed into MP4 with ffmpeg -c copy

Frequently asked

Can any modern browser still play FLV files directly?

No. Flash Player was the only thing that ever played FLV natively in a browser, and Adobe ended its support on December 31, 2020, then began actively blocking it in January 2021. Every current browser requires the FLV to be converted to MP4, WebM, or another supported format first.

What video codec is actually inside an FLV file?

It depends on when the file was made. Early FLV files use Sorenson Spark (an H.263 variant) or On2's VP6; files created from late 2007 onward, after Flash Player 9 Update 3, commonly carry standard H.264 video with AAC audio instead.

Can I convert old FLV assets to MP4 without losing quality?

Only if the FLV already contains H.264/AAC — in that case a remux (`ffmpeg -c copy`) repackages the streams into MP4 with no re-encoding and no quality loss. Files using the older Sorenson Spark or VP6 codecs must be genuinely transcoded, which does involve some generation loss.

Why does our organization still have a large FLV archive?

FLV was the dominant web-video wrapper from roughly 2003 to 2011–2012, so any organization that published video online during that window — marketing clips, e-learning, webinars — likely has a backlog of FLV masters or exports from that era sitting in older storage.

Is FLV itself covered by any patent licensing?

The FLV container format carries no licensing fee on its own. Licensing questions apply to whatever codec is inside it — H.264-in-FLV files fall under the same patent-pool considerations as H.264 in any other container.

How do I identify the codec inside an FLV before batch converting a library?

Run `ffprobe input.flv` (part of the ffmpeg suite) — it reports the video and audio codec names directly, which lets an ingest script branch between a fast remux and a full transcode instead of guessing.

Should we keep FLV as the archival master or always convert on ingest?

Convert on ingest for delivery, but keep the original FLV only when it's the true source file with no other original available — for anything where a higher-quality master exists elsewhere, there's little reason to preserve an obsolete, unplayable wrapper as the master.

Does HandBrake support FLV as an input format?

Yes — HandBrake uses ffmpeg/libav under the hood and accepts FLV as a source, making it a practical GUI option for bulk-converting an FLV archive to MP4 or WebM ahead of re-ingestion into a DAM.

Sources