Convert MPEG to HEVC — Free Online Tool

Convert MPEG files (MPEG-1/MPEG-2 video with MP2 or MP3 audio) to HEVC/H.265, dramatically reducing file size while preserving visual quality. HEVC's superior compression makes it ideal for archiving aging MPEG broadcast or DVD-compatible footage at a fraction of the original storage footprint.

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

During this conversion, FFmpeg fully decodes the MPEG-1 or MPEG-2 video stream — a lossy compression standard from the early 1990s — and re-encodes every frame using the libx265 encoder, which applies the modern HEVC/H.265 compression algorithm. This is a full transcode, not a remux, because MPEG and HEVC use fundamentally different coding technologies. HEVC uses more sophisticated intra- and inter-frame prediction, transform coding, and entropy coding than MPEG-2, which is why it achieves similar perceived quality at roughly 40–60% lower bitrate. The audio stream (typically MP2 or MP3 in MPEG files) is carried through into the output container; note that the .hevc output is a raw bitstream, so audio handling depends on your downstream workflow. The CRF 28 default targets a visually efficient quality level suitable for archival and distribution of legacy MPEG content.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles decoding the MPEG-1/2 input and encoding the HEVC output.
-i input.mpeg Specifies the input file — an MPEG container that may hold MPEG-1 or MPEG-2 video alongside MP2, MP3, or AAC audio. FFmpeg auto-detects the specific codec from the file's bitstream.
-c:v libx265 Selects libx265 as the video encoder, which implements the HEVC/H.265 standard. This replaces the MPEG-1 or MPEG-2 video codec with a modern encoder capable of achieving similar quality at roughly half the bitrate.
-crf 28 Sets the Constant Rate Factor to 28 for the libx265 encoder, targeting a balance between visual quality and file size appropriate for transcoding legacy MPEG content. Lower values (e.g., 18) produce better quality at larger file sizes; higher values (e.g., 35) compress more aggressively.
-x265-params log-level=error Passes a parameter directly to the libx265 encoder instructing it to suppress informational and warning log messages, printing only errors. This prevents the verbose per-frame statistics that libx265 emits by default from cluttering the console output.
output.hevc Specifies the output filename with a .hevc extension, producing a raw HEVC/H.265 video bitstream. This format contains only the video track with no container wrapper; if you need audio or broader device compatibility, consider using output.mp4 or output.mkv instead.

Common Use Cases

  • Archiving old MPEG-2 broadcast recordings or captured TV footage to save storage space without discarding the content
  • Compressing DVD-ripped MPEG-2 video files for long-term personal media libraries where disk space is a concern
  • Preparing legacy MPEG-1 video (such as old CD-ROM or early web video) for playback on modern devices that handle HEVC natively
  • Reducing the file size of MPEG footage before uploading to platforms or transferring over slow connections
  • Modernizing an archive of MPEG broadcast clips captured from set-top boxes or VCR capture cards into a current, efficient codec
  • Batch-converting a collection of .mpeg files from a professional broadcast environment into HEVC for cost-effective cloud storage

Frequently Asked Questions

Because MPEG-1/2 is already a lossy format, transcoding to HEVC introduces a second generation of lossy compression. However, HEVC's far more efficient compression algorithm at CRF 28 typically produces output that looks comparable to or better than the original MPEG at significantly lower bitrates. If the source MPEG was high-quality (e.g., a lightly compressed MPEG-2 broadcast capture), the perceptual quality loss is usually minimal. For critical archival work, lowering the CRF value (e.g., to 18 or 20) will produce a higher-quality, larger output file.
HEVC typically achieves 40–60% smaller file sizes than MPEG-2 at equivalent visual quality. For example, a 1 GB MPEG-2 file might compress to 400–600 MB in HEVC at CRF 28. MPEG-1 files, which already use aggressive compression for their era, will see smaller but still meaningful reductions. The exact savings depend on the source content's bitrate, resolution, and motion complexity.
The FFmpeg command shown here focuses on video transcoding and does not include an explicit audio codec instruction for the raw .hevc output, which is a video-only bitstream format. If you need to preserve the audio, you should consider outputting to a container like .mkv or .mp4 instead (e.g., changing the output filename to output.mkv), which will allow FFmpeg to copy or transcode the MP2/MP3 audio stream alongside the HEVC video. Running the command as-is will produce a raw HEVC stream without audio.
HEVC/H.265 is widely supported on hardware made after approximately 2015, including most modern smart TVs, iPhones (iPhone 6 and later), Android devices, and media players like Apple TV 4K and Roku. However, some older devices or software players may not support raw .hevc bitstream files and may require the video to be wrapped in an MP4 or MKV container. If compatibility is a concern, rename the output to .mp4 and add -c:a copy to the command to retain audio.
The -crf flag controls quality in HEVC encoding. The default value of 28 is a good balance of size and quality for legacy MPEG content. Lower values (e.g., -crf 18) produce higher quality and larger files, while higher values (e.g., -crf 35) compress more aggressively with more noticeable quality loss. The full CRF range for libx265 is 0 (lossless) to 51 (lowest quality). For archiving MPEG footage you care about, values between 18 and 23 are commonly recommended.
Yes. On Linux or macOS, you can loop over all MPEG files in a directory with a shell one-liner: for f in *.mpeg; do ffmpeg -i "$f" -c:v libx265 -crf 28 -x265-params log-level=error "${f%.mpeg}.hevc"; done. On Windows Command Prompt, use: for %f in (*.mpeg) do ffmpeg -i "%f" -c:v libx265 -crf 28 -x265-params log-level=error "%~nf.hevc". This is especially useful for large collections of archived MPEG recordings that exceed the browser tool's 1 GB per-file limit.

Technical Notes

MPEG-1 and MPEG-2 are block-based DCT codecs designed in the late 1980s and early 1990s, with relatively simple motion compensation and no support for modern features like HDR or resolutions beyond standard definition (MPEG-1) or 1080i (MPEG-2). HEVC (libx265) supports resolutions up to 8K, HDR10, and uses a CTU (Coding Tree Unit) structure up to 64×64 pixels — far more flexible than MPEG-2's fixed 16×16 macroblock structure. The -x265-params log-level=error flag suppresses the verbose per-frame encoding statistics that libx265 normally prints to stderr, keeping the output clean without affecting encoding quality. The raw .hevc output format contains only the video bitstream with no container overhead; while this is valid for some professional workflows, most consumer playback requires wrapping the stream in an MP4 or MKV container. MPEG files do not support subtitles, chapters, or multiple audio tracks, so there is no metadata of that kind to lose in this conversion. The CRF scale for libx265 is not directly comparable to MPEG's -q:v scale — libx265 CRF is a constant rate factor targeting perceptual quality, whereas MPEG's -q:v is a quantization scale where lower numbers mean better quality.

Related Tools