Convert FLV to HEVC — Free Online Tool

Convert FLV files to raw HEVC (H.265) video using libx265 — shrinking file size dramatically compared to the H.264 or legacy FLV codecs typically found in Flash Video files, while preserving visual quality. Ideal for archiving old Flash-era video content in a modern, highly compressed format.

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

FLV files typically contain video encoded with H.264 (libx264) or the older Sorenson Spark/VP6 FLV codec, paired with AAC or MP3 audio. During this conversion, the video stream is fully re-encoded from scratch using libx265, which applies the HEVC compression algorithm — a fundamentally more efficient codec than anything used in the FLV era. This is not a remux: every frame is decoded and re-compressed, which takes more CPU time but yields significantly smaller output files. The output is a raw .hevc bitstream file containing only the video track — audio is not carried over, since the HEVC container format does not have a standardized audio track wrapper. If you need to preserve audio, consider converting to MKV or MP4 with H.265 video instead.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the underlying engine that powers this browser tool via WebAssembly. The same command runs identically on desktop FFmpeg installations for files over 1GB.
-i input.flv Specifies the input Flash Video file. FFmpeg automatically detects whether the FLV contains H.264, Sorenson Spark, VP6, or other legacy video codecs, and decodes the video stream accordingly before passing it to the HEVC encoder.
-c:v libx265 Selects libx265 as the video encoder, replacing whatever codec was used in the source FLV (typically H.264 or older Flash-specific codecs) with the HEVC/H.265 standard for substantially better compression efficiency.
-crf 28 Sets the Constant Rate Factor for libx265 to 28, which is the recommended default quality level for H.265 and is perceptually equivalent to CRF 23 in H.264. Lower values increase quality and file size; higher values reduce both.
-x265-params log-level=error Passes the log-level=error parameter directly to the x265 encoder library, suppressing the detailed per-frame encoding statistics that libx265 normally outputs. This keeps the conversion log readable without affecting the encoded video.
output.hevc Specifies the output as a raw HEVC elementary bitstream file. This format contains only the encoded H.265 video — no audio, no container metadata — which is why the file extension is .hevc rather than .mp4 or .mkv.

Common Use Cases

  • Archiving old Flash Video recordings — such as downloaded YouTube videos from the 2000s–2010s or webinar recordings — in a compact, future-proof format without the Adobe Flash dependency.
  • Reducing storage footprint of large FLV screen recordings or gameplay captures by re-encoding the video-only content to HEVC, which can cut file size by 40–50% at equivalent visual quality.
  • Extracting and re-encoding the video stream from FLV broadcast clips for use in modern video editing pipelines that support HEVC natively, such as DaVinci Resolve or Final Cut Pro.
  • Preparing video-only HEVC bitstreams for low-level testing or integration into custom media containers like MPEG-TS or Matroska when audio will be handled separately.
  • Migrating a library of legacy Flash Video content to HEVC for long-term cold storage, where the superior compression of H.265 significantly reduces storage costs at scale.

Frequently Asked Questions

A raw .hevc file is a naked video bitstream — it is not a container format like MP4 or MKV, so it has no mechanism to carry audio tracks, subtitles, or metadata. The FFmpeg command used here targets the HEVC elementary stream only. If you need the audio from your FLV file preserved, you should convert to an H.265 MP4 or MKV instead, which can wrap both a libx265 video stream and an audio track in a single file.
Re-encoding always involves some generation loss since the original FLV video is decoded and then recompressed by libx265. However, HEVC's superior compression efficiency means that at the default CRF 28, the output typically looks visually comparable to H.264 at CRF 23 — the quality-per-bit is roughly twice as good. If your source FLV was already heavily compressed, you may notice some quality degradation; lowering the CRF value (e.g., to 23 or 18) will preserve more detail at the cost of a larger file.
Both H.264 and H.265 use a CRF scale from 0 (lossless) to 51 (worst quality), but the perceptual targets differ. A CRF of 23 in H.264 is roughly equivalent in visual quality to a CRF of 28 in H.265 — which is why this tool defaults to 28 for HEVC output. Going lower than 28 produces higher quality but larger files; going higher than 28 produces smaller files with more visible compression artifacts.
Change the value after the -crf flag. Lower numbers mean higher quality and larger files — for example, '-crf 18' produces near-visually-lossless output, while '-crf 35' produces a very small file with more compression artifacts. For archival of FLV content where the source quality is already limited, CRF 23–28 is a practical range. The full adjusted command would look like: ffmpeg -i input.flv -c:v libx265 -crf 23 -x265-params log-level=error output.hevc
Yes — on Linux or macOS you can use a shell loop: for f in *.flv; do ffmpeg -i "$f" -c:v libx265 -crf 28 -x265-params log-level=error "${f%.flv}.hevc"; done. On Windows Command Prompt, use: for %f in (*.flv) do ffmpeg -i "%f" -c:v libx265 -crf 28 -x265-params log-level=error "%~nf.hevc". This is especially useful for migrating a large archive of Flash Video files, and is more efficient than running each conversion individually through the browser tool.
Raw HEVC bitstream files (.hevc) have limited direct playback support — most consumer players expect HEVC wrapped in a container like MP4 or MKV. VLC and ffplay can typically open .hevc files directly. For broader compatibility with smart TVs, phones, or streaming platforms, you should mux the output into an MP4: ffmpeg -i output.hevc -c:v copy final.mp4. Apple devices support HEVC natively since iOS 11 and macOS High Sierra, but require it wrapped in a proper container.

Technical Notes

This conversion re-encodes the FLV video stream using libx265, the open-source HEVC encoder, producing a raw elementary bitstream without any container wrapper or audio track. FLV files from the Flash era may contain H.264, Sorenson Spark (FLV1), or VP6 video — libx265 can accept all of these as decoded input via FFmpeg's demuxer pipeline, so the source codec does not affect compatibility. The -x265-params log-level=error flag suppresses the verbose per-frame encoding statistics that libx265 normally prints to stderr, keeping console output clean without affecting the encoded output. One important limitation: because the output is a raw .hevc bitstream rather than an MP4 or MKV container, metadata such as frame rate, pixel aspect ratio, and creation timestamps may not be reliably preserved or readable by all tools. The FLV container's audio track (AAC or MP3) is silently dropped — this is intentional, not a bug. For files sourced from interlaced FLV broadcasts, consider adding a deinterlace filter (-vf yadif) before the codec flags to avoid encoding combing artifacts into the HEVC output.

Related Tools