VMS Software

How to Play HEVC (H.265) in Video Surveillance Systems on PC and Online

Modern IP cameras increasingly offer streams not only in the classic H.264 (AVC) format but also in the more efficient H.265 (HEVC). This codec can dramatically reduce archive size while preserving image quality — sometimes by 30–50%. For surveillance systems with dozens of cameras, this means massive storage savings and lower disk and network load.
That’s why, if your camera outputs an HEVC stream, it’s best to record it as HEVC, without transcoding. But here’s the catch: playing back HEVC footage on computers and especially in browsers is still unreliable and often requires manual setup.

Why This Is a Problem

The main issue is licensing. H.264 became the de facto standard partly because its licensing terms were relatively lenient, and browser vendors added support back in the early 2010s. HEVC is more complicated — multiple patent pools collect royalties. As a result, browsers like Chrome, Firefox, and Yandex don’t want to enable full support by default, since it would require paying fees for every user.
Apple solved this centrally — Safari on macOS and iOS supports HEVC playback without any user action.
On Windows, the situation is unpredictable. The Media Foundation multimedia framework can decode HEVC only if the HEVC Video Extensions package is installed. Edge (Chromium-based) can then play HEVC streams reliably, and Chrome or Yandex Browser may also work — but there’s no official guarantee. On Windows 7 and 8, there is no support at all.

Why H.264 “Just Works”

H.264 has been around long enough that its licensing costs have largely been written off. For internet streaming, it is now royalty-free. That’s why Chrome, Firefox, Edge, and Safari all play H.264 videos consistently.
JavaScript players like Video.js or Plyr do not ship their own decoders — they rely on the browser. That’s why MP4 with H.264 almost always works, while MP4 with H.265 may fail.

Where HEVC Playback Still Breaks

Simply put: you cannot reliably play a “pure” MP4 (H.265) file in Chrome or Yandex on Windows 7–11 for all users. On Windows 10 and 11, playback sometimes works — but only if the user has installed HEVC Video Extensions and has a GPU capable of hardware decoding. On Windows 7 and 8, playback in the browser is essentially impossible.
Safari on Mac and iOS handles HEVC flawlessly. Edge on Windows tends to be more reliable than Chrome, but it still depends on the system codec. Firefox and Chrome do not officially guarantee HEVC support, so you cannot rely on it in production.

Why Transcoding Is a Bad Option for Surveillance

Transcoding a video stream in real time puts a heavy load on the CPU. If you have 10–20 cameras running at 1080p or 4K, transcoding HEVC → H.264 without hardware acceleration will max out your processors. The same applies to converting stored archives: yes, ffmpeg can do it, but processing hours or days of footage may take hours or days of CPU time.
Example command for one-time conversion:
ffmpeg -i input_hevc.mp4 -c:v libx264 -preset veryfast -crf 22 -pix_fmt yuv420p \
-profile:v high -level 4.1 -movflags +faststart -c:a aac -b:a 128k output_avc.mp4
This is fine for a few clips but not practical for 24/7 archives.

How to Enable HEVC Support in Windows

The easiest solution is to open the file in VLC, which ships with its own codecs. But if you need playback directly in a browser or in software like SmartVision, you must install the system-level codec.

Step-by-Step Guide

  1. Open Microsoft Store
  2. Search for HEVC Video Extensions (paid) or HEVC Video Extensions from Device Manufacturer (free if supported by your GPU).
  3. Install the package.
You can also install the codec manually without using the Store. Download the .Appx or .Msixbundle package for your architecture and run:
Add-AppxPackage -Path "C:\Downloads\Microsoft.HEVCVideoExtension_*.Appx"
Or install via Windows Package Manager:
winget install 9n4wgh0z6vhq
These methods work only on Windows 10/11. Windows 7/8 do not support HEVC via Media Foundation, so installing the codec will not help.

Why Browsers Still Don’t Enable HEVC by Default

There are three main reasons:
  1. Patents and licensing costs — expensive and legally complex.
  2. Hardware dependency — without GPU decoding, HEVC is too CPU-intensive.
  3. AV1 adoption — Google, Microsoft, and Mozilla are betting on AV1, which is royalty-free and often more efficient.

Recommendations for Surveillance System Developers

The best approach is to store archives in HEVC to save space, but provide an H.264 or AV1 copy for web clients. For live streaming, use HLS/DASH with multiple codecs — Safari will get HEVC, Chrome will fall back to H.264.
Do not rely on WebAssembly decoders like libde265/wasm — they overload CPUs, and 1080p playback becomes choppy even on powerful PCs. Instead, consider server-side transcoding or pre-encoded fallback versions.

Bottom Line

There is no universal way to play MP4 (H.265) in Chrome/Yandex on Windows 7–11. Edge and Safari can handle HEVC, but only with proper system codecs and compatible hardware. For mass deployment, always offer an alternative — H.264 or AV1.
For local playback, VLC or SmartVision are the simplest choices. For the web, go with multi-codec HLS/DASH streams. This approach removes headaches for end users and preserves the benefits of HEVC in your archives.

Manual Installation of HEVC Video Extensions (Windows 10/11)

If Microsoft Store is unavailable or you prefer an offline install, follow these steps:
  1. Download the package manually
  • Go to store.rg-adguard.net
  • Paste this link:
  • https://www.microsoft.com/store/productId/9n4wgh0z6vhq
  • Click ✓ and download the .Appx or .Msixbundle file for x64.
  • Save it, e.g., to C:\Downloads\.
  1. Install via PowerShell
  • Open Windows PowerShell as Administrator.
  • Run:
Add-AppxPackage -Path "C:\Downloads\Microsoft.HEVCVideoExtension_*.Appx"
  • or for .Msixbundle:
Add-AppxPackage -Path "C:\Downloads\Microsoft.HEVCVideoExtension_*.Msixbundle"
  1. Alternative: Install via Winget
  2. If Windows Package Manager is available, run:
winget install 9n4wgh0z6vhq
  1. Restart Your Browser/Software
  2. HEVC support is now available system-wide. Test playback in Chrome, Edge, or Yandex Browser.

Important Notes

  • Works only on Windows 10/11.
  • Requires a GPU with HEVC support (Intel 6th gen+, NVIDIA GTX 950+, AMD Polaris+).
  • Chrome/Yandex use the system codec inconsistently, so playback isn’t 100% guaranteed but usually works.
  • Windows 7/8 are not supported — Media Foundation there cannot decode HEVC.
Main News Video Surveillance News