kdenlive 25.04.0 et l’objet masque

Je viens d’installer la dernière version de kdenlive 25.04.0 dont un rapide changelog peut être consulté ici. Elle intègre une évolution pour créer des masques d’objet basés sur Segment Anything Model 2 (SAM 2) qui permet de segmenter une image et une vidéo en plusieurs objets distincts, d’où également le terme segmentation d’objet utilisé par kdenlive. Ces masques peuvent ensuite être utilisés dans la vidéo pour supprimer le fond de la vidéo ou pour appliquer un effet particulier à un objet comme on peut le voir dans la documentation.

Sauf que l’installation de SAM2 ne s’est pas passée comme prévue, car j’ai buté sur cette erreur.

j’ai créé un bug sur le tracker officiel KDE qu’on peut consulter ici visiblement ça viendrait de l’emplacement de l’option -r dans la commande pip.

Puisque je n’arrive pas à installer SAM2 via kdenlive, j’ai choisi de l’installer à part et de cocher la case ci-dessus Use system packages only. Pour cela on tapera les commandes :

git clone https://github.com/facebookresearch/sam2.git && cd sam2
pip install -e .

Sauf qu’il me renvoie systématiquement une erreur comme quoi le disque est plein et qui se termine par :

Installing collected packages: nvidia-cusparselt-cu12, mpmath, typing-extensions, sympy, setuptools, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufile-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, fsspec, filelock, triton, nvidia-cusparse-cu12, nvidia-cufft-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch
ERROR: Could not install packages due to an OSError: [Errno 28] Aucun espace disponible sur le périphérique

j’ai donc adapté la commande en spécifiant un endroit où il y a de la place pour le cache temporaire en tapant :

TMPDIR=/lucien/system/tmp/ pip install --cache-dir=/lucien/system/tmp -e .

et voilà le résultat :

Obtaining file:///home/olivier/compilation/linux/multimedia/sam2
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build editable ... done
Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: torch>=2.5.1 in /usr/local/lib/python3.13/site-packages/torch-2.7.0-py3.13-linux-x86_64.egg (from SAM-2==1.0) (2.7.0)
Requirement already satisfied: torchvision>=0.20.1 in /usr/local/lib/python3.13/site-packages/torchvision-0.22.0-py3.13-linux-x86_64.egg (from SAM-2==1.0) (0.22.0)
Requirement already satisfied: numpy>=1.24.4 in /usr/lib64/python3.13/site-packages (from SAM-2==1.0) (2.1.3)
Requirement already satisfied: tqdm>=4.66.1 in /usr/lib/python3.13/site-packages (from SAM-2==1.0) (4.67.1)
Requirement already satisfied: hydra-core>=1.3.2 in /usr/local/lib/python3.13/site-packages/hydra_core-1.4.0.dev1-py3.13.egg (from SAM-2==1.0) (1.4.0.dev1)
Requirement already satisfied: iopath>=0.1.10 in /lucien/system/lib/python3.13/site-packages/iopath-0.1.10-py3.13.egg (from SAM-2==1.0) (0.1.10)
Requirement already satisfied: pillow>=9.4.0 in /usr/lib64/python3.13/site-packages (from SAM-2==1.0) (11.1.0)
Requirement already satisfied: omegaconf>=2.4.0.dev2 in /usr/local/lib/python3.13/site-packages/omegaconf-2.4.0.dev3-py3.13.egg (from hydra-core>=1.3.2->SAM-2==1.0) (2.4.0.dev3)
Requirement already satisfied: packaging in /usr/lib/python3.13/site-packages/setuptools/_vendor (from hydra-core>=1.3.2->SAM-2==1.0) (24.2)
Requirement already satisfied: typing_extensions in /usr/lib/python3.13/site-packages/setuptools/_vendor (from iopath>=0.1.10->SAM-2==1.0) (4.12.2)
Requirement already satisfied: portalocker in /usr/local/lib/python3.13/site-packages/portalocker-3.1.1-py3.13.egg (from iopath>=0.1.10->SAM-2==1.0) (3.1.1)
Requirement already satisfied: filelock in /usr/local/lib/python3.13/site-packages/filelock-3.18.0-py3.13.egg (from torch>=2.5.1->SAM-2==1.0) (3.18.0)
Requirement already satisfied: setuptools in /usr/lib/python3.13/site-packages (from torch>=2.5.1->SAM-2==1.0) (78.1.0)
Requirement already satisfied: sympy>=1.13.3 in /usr/local/lib/python3.13/site-packages/sympy-1.14.0-py3.13.egg (from torch>=2.5.1->SAM-2==1.0) (1.14.0)
Requirement already satisfied: networkx in /usr/local/lib/python3.13/site-packages/networkx-3.4.2-py3.13.egg (from torch>=2.5.1->SAM-2==1.0) (3.4.2)
Requirement already satisfied: jinja2 in /usr/lib/python3.13/site-packages (from torch>=2.5.1->SAM-2==1.0) (3.1.6)
Requirement already satisfied: fsspec in /usr/local/lib/python3.13/site-packages/fsspec-2025.3.2-py3.13.egg (from torch>=2.5.1->SAM-2==1.0) (2025.3.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.6.77 in /usr/local/lib/python3.13/site-packages/nvidia_cuda_nvrtc_cu12-12.6.77-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.77)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.6.77 in /usr/local/lib/python3.13/site-packages/nvidia_cuda_runtime_cu12-12.6.77-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.77)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.6.80 in /usr/local/lib/python3.13/site-packages/nvidia_cuda_cupti_cu12-12.6.80-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.80)
Requirement already satisfied: nvidia-cudnn-cu12==9.5.1.17 in /usr/local/lib/python3.13/site-packages/nvidia_cudnn_cu12-9.5.1.17-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (9.5.1.17)
Requirement already satisfied: nvidia-cublas-cu12==12.6.4.1 in /usr/local/lib/python3.13/site-packages/nvidia_cublas_cu12-12.6.4.1-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.4.1)
Requirement already satisfied: nvidia-cufft-cu12==11.3.0.4 in /usr/local/lib/python3.13/site-packages/nvidia_cufft_cu12-11.3.0.4-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (11.3.0.4)
Requirement already satisfied: nvidia-curand-cu12==10.3.7.77 in /usr/local/lib/python3.13/site-packages/nvidia_curand_cu12-10.3.7.77-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (10.3.7.77)
Requirement already satisfied: nvidia-cusolver-cu12==11.7.1.2 in /usr/local/lib/python3.13/site-packages/nvidia_cusolver_cu12-11.7.1.2-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (11.7.1.2)
Requirement already satisfied: nvidia-cusparse-cu12==12.5.4.2 in /usr/local/lib/python3.13/site-packages/nvidia_cusparse_cu12-12.5.4.2-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.5.4.2)
Requirement already satisfied: nvidia-cusparselt-cu12==0.6.3 in /usr/local/lib/python3.13/site-packages/nvidia_cusparselt_cu12-0.6.3-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (0.6.3)
Requirement already satisfied: nvidia-nccl-cu12==2.26.2 in /usr/local/lib/python3.13/site-packages/nvidia_nccl_cu12-2.26.2-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (2.26.2)
Requirement already satisfied: nvidia-nvtx-cu12==12.6.77 in /usr/local/lib/python3.13/site-packages/nvidia_nvtx_cu12-12.6.77-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.77)
Requirement already satisfied: nvidia-nvjitlink-cu12==12.6.85 in /usr/local/lib/python3.13/site-packages/nvidia_nvjitlink_cu12-12.6.85-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (12.6.85)
Requirement already satisfied: nvidia-cufile-cu12==1.11.1.6 in /usr/local/lib/python3.13/site-packages/nvidia_cufile_cu12-1.11.1.6-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (1.11.1.6)
Requirement already satisfied: triton==3.3.0 in /usr/local/lib/python3.13/site-packages/triton-3.3.0-py3.13-linux-x86_64.egg (from torch>=2.5.1->SAM-2==1.0) (3.3.0)
Requirement already satisfied: PyYAML>=5.1.0 in /usr/lib64/python3.13/site-packages (from omegaconf>=2.4.0.dev2->hydra-core>=1.3.2->SAM-2==1.0) (6.0.1)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.13/site-packages/mpmath-1.3.0-py3.13.egg (from sympy>=1.13.3->torch>=2.5.1->SAM-2==1.0) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/lib64/python3.13/site-packages (from jinja2->torch>=2.5.1->SAM-2==1.0) (3.0.2)
Building wheels for collected packages: SAM-2
Building editable for SAM-2 (pyproject.toml) ... done
Created wheel for SAM-2: filename=sam_2-1.0-0.editable-py3-none-any.whl size=13814 sha256=f2343bef58dd153654e2155601652cbdddc1d3bf53abf38c208eb859d797f305
Stored in directory: /lucien/system/tmp/pip-ephem-wheel-cache-yd7y3ecf/wheels/9b/13/6a/cfa1296ad8538525c75a1738a7b367749ace885146b228093b
Successfully built SAM-2
Installing collected packages: SAM-2
Attempting uninstall: SAM-2
Found existing installation: SAM-2 1.0
Uninstalling SAM-2-1.0:
Successfully uninstalled SAM-2-1.0
Successfully installed SAM-2-1.0

on installe ensuite opencv-python avec la commande pip install opencv-python. Ensuite avant de lancer kdenlive dans un shell car il ne trouvait pas des bibliothèques CUDA, j’ai tapé préalablement :

export LD_LIBRARY_PATH=/usr/local/lib/python3.13/site-packages/nvidia_cudnn_cu12-9.5.1.17-py3.13-linux-x86_64.egg/nvidia/cudnn/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/usr/local/lib/python3.13/site-packages/nvidia_cusparselt_cu12-0.6.3-py3.13-linux-x86_64.egg/cusparselt/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/usr/local/lib/python3.13/site-packages/nvidia_nccl_cu12-2.26.2-py3.13-linux-x86_64.egg/nvidia/nccl/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/usr/local/lib/python3.13/site-packages/nvidia_cuda_cupti_cu12-12.6.80-py3.13-linux-x86_64.egg/nvidia/cuda_cupti/lib:${LD_LIBRARY_PATH}

La magie semble ensuite opérer car j’ai maintenant accès au plugin et je peux lancer le traitement.

Mais il échoue ensuite avec l’erreur :

/usr/local/lib/python3.13/site-packages/torch-2.7.0-py3.13-linux-x86_64.egg/torch/cuda/__init__.py:174: UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 11040). Please 
update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your v
ersion of the CUDA driver. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0

Ce n’est pas bon signe, cela signifie sans doute que mon PC et sa carte graphique commencent à se faire vieux, il faut dire que les deux ont maintenant 10 ans ce qui est une éternité à l’échelle informatique. Il va falloir sans doute investir.

Laisser un commentaire