Compiler FFmpeg avec NVDEC sur Ubuntu 22.04
Guide complet pour compiler FFmpeg avec le support NVDEC (décodage GPU NVIDIA) sur Ubuntu 22.04. Accélérez vos traitements vidéo !
Billel Midouni
Compiler FFmpeg avec NVDEC sur Ubuntu 22.04
Le décodage vidéo accéléré par GPU NVIDIA (NVDEC) peut considérablement améliorer les performances de traitement vidéo. Voici comment compiler FFmpeg avec ce support.
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Une carte graphique NVIDIA compatible (série GTX 900 ou plus récent)
- Les drivers NVIDIA installés (version 470 ou supérieure)
- Ubuntu 22.04 LTS
Installation des dépendances
sudo apt update
sudo apt install -y build-essential yasm cmake libtool libc6 libc6-dev \
unzip wget libnuma1 libnuma-dev git pkg-config nasm
Installation de CUDA Toolkit
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.0-545.23.06-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.0-545.23.06-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
Cloner les headers nv-codec
cd ~
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install
Compilation de FFmpeg
cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 \
--enable-nvdec --enable-cuvid --enable-nvenc
make -j$(nproc)
sudo make install
Vérification de l'installation
ffmpeg -hwaccels
Vous devriez voir cuda et nvdec dans la liste.
Utilisation de NVDEC
Pour décoder une vidéo avec NVDEC :
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 \
-c:v h264_nvenc -preset fast output.mp4
Optimisation des performances
Pour obtenir les meilleures performances :
- Utilisez
-hwaccel_output_format cudapour garder les frames sur le GPU - Combinez NVDEC avec NVENC pour un pipeline complet sur GPU
- Ajustez le preset NVENC selon vos besoins (fast, medium, slow)
Dépannage
Erreur "No NVENC capable devices found" :
Vérifiez que vos drivers NVIDIA sont à jour avec nvidia-smi.
Erreur de compilation :
Assurez-vous que les chemins CUDA sont corrects dans votre $PATH et $LD_LIBRARY_PATH.
Conclusion
Avec FFmpeg compilé avec NVDEC, vous pouvez traiter des vidéos jusqu'à 10x plus rapidement qu'avec le CPU seul. Idéal pour les pipelines de transcodage haute performance !
Articles similaires
Les tendances du design web en 2025
Découvrez les dernières tendances qui façonnent le web design moderne : minimalisme, animations fluides et intelligence artificielle.
Next.js 15 : Les nouveautés à connaître
Next.js 15 apporte son lot de nouveautés : amélioration des performances, nouveau système de cache et bien plus encore.