Created
December 9, 2025 11:40
-
-
Save aouronga/2182903b48a98592000f0b360dbe806d to your computer and use it in GitHub Desktop.
Latest FFMPEG with Intel QSV upgrade
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -e | |
| echo "======================================" | |
| echo " FFmpeg Latest + Intel QSV Installer" | |
| echo "======================================" | |
| echo "" | |
| # ---------- UPDATE ---------- | |
| echo "[1/8] Updating system..." | |
| sudo apt update -y | |
| sudo apt install -y software-properties-common wget gpg | |
| # ---------- ADD INTEL GRAPHICS REPO ---------- | |
| echo "[2/8] Adding Intel oneVPL repository..." | |
| wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo apt-key add - | |
| sudo add-apt-repository -y "deb https://repositories.intel.com/graphics/ubuntu $(lsb_release -cs) main" | |
| sudo apt update -y | |
| # ---------- INSTALL INTEL MEDIA/QSV RUNTIME ---------- | |
| echo "[3/8] Installing Intel Media SDK + oneVPL..." | |
| sudo apt install -y \ | |
| intel-media-va-driver-non-free \ | |
| libmfx1 libmfxgen1 libvpl2 \ | |
| libvpl-dev libmfx-dev \ | |
| intel-opencl-icd level-zero \ | |
| vainfo | |
| # ---------- INSTALL BUILD DEPENDENCIES ---------- | |
| echo "[4/8] Installing FFmpeg build dependencies..." | |
| sudo apt install -y \ | |
| autoconf automake build-essential cmake git libtool pkg-config \ | |
| libssl-dev libass-dev libfreetype6-dev libsdl2-dev libva-dev \ | |
| libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev \ | |
| texinfo yasm nasm zlib1g-dev libx264-dev libx265-dev libnuma-dev \ | |
| libvpx-dev libfdk-aac-dev libopus-dev libmp3lame-dev \ | |
| libdrm-dev libva-drm2 libva2 | |
| # ---------- ADD USER TO VIDEO/RENDER ---------- | |
| echo "[5/8] Adding user to video/render groups..." | |
| sudo usermod -aG video $USER | |
| sudo usermod -aG render $USER | |
| # ---------- DOWNLOAD FFMPEG SOURCE ---------- | |
| echo "[6/8] Downloading latest FFmpeg..." | |
| cd /tmp | |
| rm -rf ffmpeg-qsv | |
| git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-qsv | |
| cd ffmpeg-qsv | |
| # use latest stable | |
| git checkout release/8.1 || true | |
| # ---------- CONFIGURE FFMPEG ---------- | |
| echo "[7/8] Configuring FFmpeg with QSV support..." | |
| ./configure \ | |
| --prefix=/usr/local \ | |
| --enable-gpl \ | |
| --enable-nonfree \ | |
| --enable-libx264 \ | |
| --enable-libx265 \ | |
| --enable-libvpx \ | |
| --enable-libfdk-aac \ | |
| --enable-libopus \ | |
| --enable-libass \ | |
| --enable-libmp3lame \ | |
| --enable-openssl \ | |
| --enable-libmfx \ | |
| --enable-libvpl \ | |
| --enable-vaapi \ | |
| --enable-libdrm \ | |
| --enable-fast-unaligned \ | |
| --enable-pthreads \ | |
| --enable-qsv \ | |
| --extra-libs="-lmfx -lvpl" | |
| # ---------- BUILD & INSTALL ---------- | |
| echo "[8/8] Building FFmpeg (this may take 5-20 minutes)..." | |
| make -j$(nproc) | |
| echo "Installing FFmpeg..." | |
| sudo make install | |
| hash -r | |
| echo "" | |
| echo "======================================" | |
| echo " Installation Completed!" | |
| echo "======================================" | |
| echo "" | |
| echo "Checking QSV hardware..." | |
| vainfo || echo "[WARN] vainfo failed — check iGPU drivers." | |
| echo "Checking FFmpeg QSV encoders..." | |
| ffmpeg -encoders | grep qsv || echo "[WARN] QSV encoders not found." | |
| echo "" | |
| echo "Run this to verify:" | |
| echo " ffmpeg -hwaccels" | |
| echo " ffmpeg -encoders | grep qsv" | |
| echo "" | |
| echo "You MUST logout/login for video/render group changes to take effect." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment