HEVC en Linux

En Linux el descodificador HEVC lo pone FFmpeg (libavcodec), que ya usan VLC, mpv y Kodi. Lo que hay que configurar es la aceleración por hardware, sobre todo para el 4K.

Actualizado el 6 fuentes citadas

Lo esencial

  • El descodificador HEVC está en FFmpeg (libavcodec): VLC, mpv, Kodi y Celluloid lo usan.
  • Ubuntu: ubuntu-restricted-extras. Debian: ffmpeg y gstreamer1.0-libav. Fedora: RPM Fusion.
  • Para 4K sin tirones activa la aceleración: VA-API (Intel, AMD) o NVDEC (NVIDIA), y compruébala con vainfo.

Ubuntu y derivadas (Linux Mint, Pop!_OS)

sudo apt update
sudo apt install ubuntu-restricted-extras ffmpeg gstreamer1.0-libav vainfo
# Intel (Broadwell o posterior):
sudo apt install intel-media-va-driver-non-free
# AMD:
sudo apt install mesa-va-drivers

Linux Mint ofrece instalar los códecs multimedia durante la instalación o desde la pantalla de bienvenida.

Debian

Desde Debian 12, FFmpeg y GStreamer de los repositorios oficiales incluyen HEVC. Activa las secciones contrib non-free non-free-firmware en /etc/apt/sources.list si quieres el controlador VA-API no libre de Intel.

sudo apt install ffmpeg gstreamer1.0-libav gstreamer1.0-plugins-bad vainfo
sudo apt install intel-media-va-driver-non-free   # Intel
sudo apt install mesa-va-drivers                  # AMD

Fedora

Fedora no incluye HEVC por las patentes: su FFmpeg es una versión recortada y su Mesa trae desactivada la aceleración HEVC. Con RPM Fusion se resuelve:

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
sudo dnf install gstreamer1-plugin-libav libva-utils
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld    # AMD
sudo dnf install intel-media-driver                        # Intel

En openSUSE el equivalente es el repositorio Packman; en Arch, todo está en los repositorios oficiales (ffmpeg, libva-utils, intel-media-driver o libva-mesa-driver).

Comprueba la aceleración por hardware

  1. Ejecuta vainfovainfo | grep -i hevc debe listar VAProfileHEVCMain (y Main10) con VAEntrypointVLD.
  2. Prueba con mpvmpv --hwdec=auto video.mkv y pulsa i: verás «HW: vaapi» o «nvdec».
  3. NVIDIACon el controlador propio, mpv usa NVDEC directamente; para Firefox y Chrome hace falta el puente nvidia-vaapi-driver.
  4. NavegadorFirefox 137 o posterior reproduce HEVC con VA-API activo; en Chrome, revisa chrome://gpu.

Gráficas con descodificador HEVC

Intel
  1. 2015 6.ª gen. (Skylake): 8 bits
  2. 2016 7.ª gen. (Kaby Lake): 10 bits
AMD
  1. 2015 APU Carrizo y R9 Fury: 8 bits
  2. 2016 RX 400 (Polaris): 10 bits
NVIDIA
  1. 2015 GTX 950/960: Main y Main 10
  2. 2016 GTX 10: hasta 12 bits
Anterior a esas fechas, el vídeo HEVC solo se descodifica por software (lento en 4K). Fuentes: NVIDIA, Intel, Wikipedia.

Si usas Flatpak

Los reproductores de Flathub (VLC, mpv, Celluloid, Haruna, Kodi) traen su propio FFmpeg con HEVC a través del runtime org.freedesktop.Platform.ffmpeg-full; para la aceleración, instala también la extensión org.freedesktop.Platform.VAAPI.Intel si tu gráfica es Intel. Es la forma más sencilla en Fedora si no quieres activar RPM Fusion.

Preguntas frecuentes

¿Por qué Fedora no reproduce HEVC de serie?

Por las patentes, Fedora no incluye descodificadores HEVC en sus repositorios oficiales y su Mesa trae desactivada la aceleración HEVC. Hay que activar RPM Fusion e instalar ffmpeg completo y mesa-va-drivers-freeworld.

¿Cómo sé si mi gráfica acelera HEVC en Linux?

Ejecuta vainfo (paquete vainfo o libva-utils) y busca VAProfileHEVCMain y VAProfileHEVCMain10 con VAEntrypointVLD. Con NVIDIA y su controlador propio, nvidia-smi y mpv con --hwdec=nvdec.

Fuentes

  1. FFmpeg Wiki. Hardware acceleration (VA-API, NVDEC, QSV, VideoToolbox)
  2. Arch Wiki. Hardware video acceleration (VA-API, comprobación con vainfo)
  3. RPM Fusion. Configuration and multimedia
  4. Debian Wiki. Multimedia codecs
  5. Ubuntu Desktop documentation (paquete ubuntu-restricted-extras)
  6. GStreamer. Plugins: libav, va y x265