Différentes méthodes d’installation d’yt-dlp sont possibles, soit directement en provenance de github, ou par paquet Debian. Une mauvaise installation peut empêcher l’usage correct de nombreuses options, source de confusion.
L’installation d’yt-dlp de Debian offre quelques avantages:
• résolution plus rapide puisque les extracteurs sont décompressés à l’installation à /usr/lib/python3/dist-packages/yt_dlp/extractor/
.
L’exécutable de GIT, sans préparation, doit décompresser les extracteurs à chaque utilisation.
time yt-dlp -s EngW7tLk6R8
github: 5s
Debian: 4s
• le paquet Debian installe man yt-dlp
• permet un contrôle de version directement par apt (pas indispensable, mais pratique)
Fréquence de mise à jour:
yt-dlp contient plus de mille extracteurs video.
Chercher à chaque utilisation la dernière version nightly qui concerne peut-être uniquement le site ‹ OnDemandKoreaProgram › présente peu d’intérêt, et peut aussi apporter des régressions. Le « dernier » paquet yt-dlp disponible de Debian filtre correctement la fréquence utile de mise à jour (observation statistique)
Le problème rencontré pour Debian stable est que yt-dlp n’est mis à jour que dans le dépôt debian-backports. L’ajoût d’un dépôt supplémentaire pour un paquet de 2MB n’est techniquement pas optimum, la mise à jour d’un dépôt étant une opération apt lourde.
Le script dash suivant permet d’obtenir la version du paquet yt-dlp de Debian la plus à jour, indépendamment des sources de dépôts.
Pré-requis, installation de:
python3-{certifi,mutagen,pycryptodome,requests,urllib3,websockets} ffmpeg curl
/usr/local/bin/yt-dlp_update [20250610]
#!/usr/bin/dash
# yt-dlp_update : Recherche versions yt-dlp GIT+Debian # 20250610 #
# Depends: curl ffmpeg
# python3-{certifi,mutagen,pycryptodome,requests,urllib3,websockets}
y=`command -v yt-dlp` && { y=`readlink -e $y`; C=`$y --version` ;}
echo "Installé : ${C:---} $y"
# ---------
R='http://ftp.fr.debian.org/debian/pool/main/y/yt-dlp/'
P=`curl -sL $R | awk -F\" '/^[^~]*b</{x=$2}END{print x}'`
N=`expr substr ${P:--} 8 10` && echo "Disponible: $N [debian]" || exit 1
G=`curl -s https://raw.githubusercontent.com/yt-dlp/yt-dlp/master/Changelog.md |
awk -F'[ *]' '/ 20/{printf $2};/ Ext/{x=1}{if(x==1){if(/^$/)exit}if(($1~"^-")&&
($4~"egr|fra|gen|owd|itc|vim|vk|wit|tok|utu|rum|bry|le[fm]")){printf " "$4}}'`
echo "Github : $G"
# ---------
{ [ x$N = x$C ] || { echo; read -p "Installation yt-dlp $N ? [↲ | n] " -r q
[ x$q = xn ] ;};} && exit || wget -qO ${F:=/tmp/$P} $R$P &&
[ `dpkg -I $F |awk 'NR==2{print $2}'` = `stat -c%s $F` ] && sudo dpkg -i $F &&
echo "\v ✔ yt-dlp $N installé"
# -- log --
[ -w ${L:=$HOME/.local/share/yt-dlp/yt-dlp.log} ] && sed -n "/^$N/q1" $L &&
echo "$G\n\n$(cat $L)" >$L
# ---------
exit
Option sauvegarde liste extracteurs modifiés par version, initialisée par la création d’un fichier vide
~/.local/share/yt-dlp/yt-dlp.log
$ sudo chmod +x /usr/local/bin/yt-dlp_update
$ yt-dlp_update
Installé : 2025.06.09 /usr/bin/yt-dlp
Disponible: 2025.06.09 [debian]
Github : 2025.06.09 twitcasting twitter vimeo youtube
Information complémentaire / test yt-dlp
Test:
$ yt-dlp 'https://www.youtube.com/watch?v=EngW7tLk6R8' --get-title --get-id
Sample Videos / Dummy Videos For Demo Use
EngW7tLk6R8
Taille de la video EngW7tLk6R8
$ yt-dlp EngW7tLk6R8 --quiet --skip-download --exec-before-download 'size=$(numfmt --to=iec-i --suffix=B --format="%.2f" $(( %(requested_formats.0.filesize+requested_formats.1.filesize|0)d + %(filesize|0)d ))); echo "Size: $size"'
Size: 770,11KiB
Sans option, la vidéo est téléchargée, format par défaut: ‹ bestvideo*+bestaudio/best
›
mpv utilise directement yt-dlp, si correctement accesssible dans un chemin défini par la variable $PATH
.
$ mpv 'ytdl://ytsearch:fKFbnhcNnjE' --ytdl-format='bv[height<800]+ba/best'
# ou directement:
$ mpv 'https://www.youtube.com/watch?v=fKFbnhcNnjE'
Les options d’yt-dlp:
man yt-dlp
; GitHub - yt-dlp: Options
Une configuration par défaut d’yt-dlp peut être écrite dans ~/.config/yt-dlp/config
exemple:
--no-mtime
--geo-bypass
--youtube-skip-dash-manifest
--user-agent='Mozilla/5.0 (Linux;)'
Les options de format video d’yt-dlp pour mpv peuvent être écrites dans ~/.config/mpv/mpv.conf
exemple:
ytdl-format='bestvideo[height<800]+bestaudio/best'