Un défaut auquel j'ai été confronté il y a peu. Vividl ne permet pas de sélectionner la langue téléchargée pour l'audio sur les rares vidéos YouTube qui comportent plusieurs pistes.
Un exemple avec celle-ci qui propose anglais, espagnol, français, italien:
Apparemment il n'existe aucun paramétrage que ce soit directement dans l'interface ou dans les fichiers du logiciel. J'ai cherché à contourner cela par un
wrapper sur le yt-dlp.exe qu'il appelle, ou un fichier de
configuration qu'on peut définir pour yt-dlp. Mais Vividl utilise son propre
wrapper YoutubeDLSharp, développé aussi par Bluegrams qui appelle yt-dlp, mais qui redownloade yt-dlp.exe s'il considère que ce n'est pas le vrai, et sans tenir compte de la non-mise à jour automatique.
Le problème vient du fait que par défaut yt-dlp n'exploite pas toutes ses capacités d'identification, il le fait par rapport à un type de client. Pour obtenir le retour de toutes les pistes, il faut le forcer à analyser tous les flux retournés par tous les clients potentiels.
Donc, il faut le faire à la main
Downloader yt-dlp et installer en plus la runtime Javascript
Node pour pouvoir activer certaines fonctionnalités supplémentaires de yt-dlp
(il y a d'autres possibilités comme : Deno, QuickJS, QuickJS-ng, Bun, mais j'ai choisi Node, et il est possible que QuickJS soit inclus avec certaines versions de yt-dlp).
Alors avec PowerShell
(shift + clic droit de souris sur le dossier de yt-dlp, pour voir apparaitre "Ouvrir la fenêtre PowerShell ici"), pour avoir la liste de tous les flux :
Code : Tout sélectionner
.\yt-dlp.exe --js-runtimes node --extractor-args "youtube:player_client=all" -F "https://youtu.be/eB_DxSZO6mA"
Dans mon exemple, on voit bien tous les clients analysés et tous les flux retournés, donc ceux audios :
Code : Tout sélectionner
[youtube] Extracting URL: https://youtu.be/eB_DxSZO6mA
[youtube] eB_DxSZO6mA: Downloading webpage
[youtube] eB_DxSZO6mA: Downloading tv client config
[youtube] eB_DxSZO6mA: Downloading player 9b33d56a-main
[youtube] eB_DxSZO6mA: Downloading tv player API JSON
[youtube] eB_DxSZO6mA: Downloading tv downgraded player API JSON
[youtube] eB_DxSZO6mA: Downloading tv simply player API JSON
[youtube] eB_DxSZO6mA: Downloading web client config
[youtube] eB_DxSZO6mA: Downloading web player API JSON
[youtube] eB_DxSZO6mA: Downloading web embedded client config
[youtube] eB_DxSZO6mA: Downloading web embedded player API JSON
[youtube] eB_DxSZO6mA: Downloading web music client config
[youtube] eB_DxSZO6mA: Downloading web music player API JSON
[youtube] eB_DxSZO6mA: Downloading web creator player API JSON
[youtube] eB_DxSZO6mA: Downloading mweb client config
[youtube] eB_DxSZO6mA: Downloading mweb player API JSON
[youtube] eB_DxSZO6mA: Downloading android player API JSON
[youtube] eB_DxSZO6mA: Downloading android vr player API JSON
[youtube] eB_DxSZO6mA: Downloading ios player API JSON
[youtube] [jsc:node] Solving JS challenges using node
[info] Available formats for eB_DxSZO6mA:
ID EXT RESOLUTION FPS CH | FILESIZE TBR PROTO | VCODEC VBR ACODEC ABR ASR MORE INFO
----------------------------------------------------------------------------------------------------------------------------------------------------------
sb3 mhtml 48x27 0 | mhtml | images storyboard
sb2 mhtml 61x45 0 | mhtml | images storyboard
sb1 mhtml 123x90 0 | mhtml | images storyboard
sb0 mhtml 247x180 0 | mhtml | images storyboard
249-drc webm audio only 2 | 30.95MiB 47k https | audio only opus 47k 48k [en] English original (default), low, DRC, webm_dash
250-drc webm audio only 2 | 36.19MiB 54k https | audio only opus 54k 48k [en] English original (default), low, DRC, webm_dash
139 m4a audio only 2 | 32.41MiB 49k https | audio only mp4a.40.5 49k 22k [en] English original (default), low, m4a_dash
249-0 webm audio only 2 | 29.38MiB 44k https | audio only opus 44k 48k [es] Spanish, low, webm_dash
249-1 webm audio only 2 | 30.51MiB 46k https | audio only opus 46k 48k [fr] French, low, webm_dash
249-2 webm audio only 2 | 31.29MiB 47k https | audio only opus 47k 48k [it] Italian, low, webm_dash
250-0 webm audio only 2 | 34.84MiB 52k https | audio only opus 52k 48k [es] Spanish, low, webm_dash
250-1 webm audio only 2 | 35.04MiB 53k https | audio only opus 53k 48k [fr] French, low, webm_dash
250-2 webm audio only 2 | 37.57MiB 57k https | audio only opus 57k 48k [it] Italian, low, webm_dash
249-3 webm audio only 2 | 30.42MiB 46k https | audio only opus 46k 48k [en] English original (default), low, webm_dash
250-3 webm audio only 2 | 35.43MiB 53k https | audio only opus 53k 48k [en] English original (default), low, webm_dash
140-drc m4a audio only 2 | 86.02MiB 129k https | audio only mp4a.40.2 129k 44k [en] English original (default), medium, DRC, m4a_dash
251-drc webm audio only 2 | 65.88MiB 99k https | audio only opus 99k 48k [en] English original (default), medium, DRC, webm_dash
140-0 m4a audio only 2 | 86.02MiB 129k https | audio only mp4a.40.2 129k 44k [it] Italian, medium, m4a_dash
140-1 m4a audio only 2 | 86.02MiB 129k https | audio only mp4a.40.2 129k 44k [es] Spanish, medium, m4a_dash
140-2 m4a audio only 2 | 86.02MiB 129k https | audio only mp4a.40.2 129k 44k [fr] French, medium, m4a_dash
140-3 m4a audio only 2 | 86.02MiB 129k https | audio only mp4a.40.2 129k 44k [en] English original (default), medium, m4a_dash
251-0 webm audio only 2 | 64.42MiB 97k https | audio only opus 97k 48k [fr] French, medium, webm_dash
251-1 webm audio only 2 | 68.57MiB 103k https | audio only opus 103k 48k [es] Spanish, medium, webm_dash
251-2 webm audio only 2 | 70.00MiB 105k https | audio only opus 105k 48k [it] Italian, medium, webm_dash
251-3 webm audio only 2 | 64.89MiB 98k https | audio only opus 98k 48k [en] English original (default), medium, webm_dash
160 mp4 198x144 30 | 30.77MiB 46k https | avc1.4d400c 46k video only 144p, mp4_dash
278 webm 198x144 30 | 46.62MiB 70k https | vp9 70k video only 144p, webm_dash
394 mp4 198x144 30 | 34.70MiB 52k https | av01.0.00M.08 52k video only 144p, mp4_dash
133 mp4 330x240 30 | 63.04MiB 95k https | avc1.4d400d 95k video only 240p, mp4_dash
242 webm 330x240 30 | 65.80MiB 99k https | vp9 99k video only 240p, webm_dash
395 mp4 330x240 30 | 60.13MiB 90k https | av01.0.00M.08 90k video only 240p, mp4_dash
134 mp4 494x360 30 | 136.63MiB 206k https | avc1.4d401e 206k video only 360p, mp4_dash
18 mp4 494x360 30 2 | 336.00MiB 506k https | avc1.42001E mp4a.40.2 44k [en] 360p
243 webm 494x360 30 | 123.01MiB 185k https | vp9 185k video only 360p, webm_dash
396 mp4 494x360 30 | 106.76MiB 161k https | av01.0.01M.08 161k video only 360p, mp4_dash
135 mp4 660x480 30 | 264.17MiB 398k https | avc1.4d401e 398k video only 480p, mp4_dash
244 webm 660x480 30 | 175.17MiB 264k https | vp9 264k video only 480p, webm_dash
397 mp4 660x480 30 | 168.34MiB 253k https | av01.0.04M.08 253k video only 480p, mp4_dash
136 mp4 988x720 30 | 692.77MiB 1043k https | avc1.4d401f 1043k video only 720p, mp4_dash
247 webm 988x720 30 | 308.23MiB 464k https | vp9 464k video only 720p, webm_dash
398 mp4 988x720 30 | 297.45MiB 448k https | av01.0.05M.08 448k video only 720p, mp4_dash
Ensuite on peut sélectionner ce qui nous intéresse mais toujours en exploitant Node, par exemple ici le flux 140-2 pour obtenir le français.
Code : Tout sélectionner
.\yt-dlp.exe --js-runtimes node --extractor-args "youtube:player_client=all" -f "bestvideo+140-2" "https://youtu.be/eB_DxSZO6mA"
Il est possible que certains outils permettent via leur interface de directement sélectionner une piste audio, ça serait le cas du payant
4K Video Downloader Plus.