Télécharger les vidéos de YouTube comme un pro

Suite à mon pré­cé­dent article, j’ai déci­dé de creu­ser un peu plus le sujet.

Et devi­nez quoi ? J’ai trou­vé com­ment télé­char­ger n’im­porte quelle vidéo de You­tube, en 1080p, en DASH, sans aucun plu­gin Fire­fox et sans recon­ver­sion !

Il vous faut juste une dis­trib Linux, du style Mint. Tech­ni­que­ment ça pour­rait fonc­tion­ner sous Win­dows et Mac, il fau­drait juste adap­ter le script que je vais vous pro­po­ser juste après.

On com­mence par ins­tal­ler you­tube-dl :

sudo apt-get install youtube-dl

On télé­charge ensuite ffm­peg et le script ici.

You­tube-dl va nous per­mettre de télé­char­ger la vidéo + la piste sonore qui est désor­mais indé­pen­dante sur You­tube, ffm­peg va nous per­mettre de mer­ger (fusion­ner) les deux fichiers sans recon­ver­sion, et le script se charge de faire le tout, tout seul.

Je vous conseille de mettre ffm­peg et le script dans un même dos­sier, plan­qué dans un coin. On va écrire un script bash simple pour faire appel à ce fichier.

nano ~/.bashrc
alias ytdl='bash /home/matronix/Seafile/Partage/youtube-dl/ytdl.sh $*'

Rem­pla­cez /home/matronix/Seafile/Partage/youtube-dl/ytdl.sh par le che­min de votre fichier. Enre­gis­trez le fichier, et met­tez à jour bash en tapant :

bash

De la même manière, édi­tez le fichier sh avec votre édi­teur de texte pré­fé­ré, pour indi­quer sur la fin du fichier l’emplacement de ffm­peg pré­cé­dem­ment télé­char­gé, au niveau de la ligne 64 :

/home/matronix/Seafile/Partage/youtube-dl/ffmpeg -i "$File1" -i "$File2" -acodec copy -vcodec copy -threads 0 "$Out"

Doré­na­vant, pour télé­char­ger une vidéo you­tube, il vous suf­fi­ra de taper dans un ter­mi­nal situé n’im­porte où, par ex :

 ytdl https://www.youtube.com/watch?v=nUCmpthYKPQ

La vidéo sera ana­ly­sée, et on vous deman­de­ra quelle vidéo télé­char­ger. On vous deman­de­ra ensuite la piste sonore. Il faut indi­quer le code cor­res­pon­dant à la ligne, vous ne devriez pas avoir de sou­cis.

La piste vidéo sera télé­char­gée, sui­vie de la piste sonore. ffm­peg pren­dra ensuite le relai, en mer­geant les deux fichiers.

Votre fichier final sera prêt dans votre Home !

Chez moi ça fonc­tionne par­fai­te­ment, n’hé­si­tez pas à don­ner vos retours ! De même, si vous savez com­ment opti­mi­ser un peu plus le truc (par ex pour la loca­li­sa­tion de ffm­peg), n’hé­si­tez pas !

A voir aussi

Illustration d’un setup de jeu avec un écran éteint relié par un câble HDMI à une console ROG Ally affichant Moonlight en 1080p, symbolisant le streaming local sans allumer l’écran principal du PC.

Comment jouer en streaming local avec Moonlight sans écran allumé grâce à un adaptateur HDMI fictif

Je me doute que l’u­ti­li­sa­tion décrite ci-après est extrê­me­ment niche, mais elle peut ser­vir. J’ai …

6 comments

  1. Oh yeah ! Ça marche !
    Fina­le­ment c’é­tait bien ma ver­sion de FFm­peg qui était dépas­sée.

  2. Per­so, j’a­vais déjà ffm­peg d’ins­tal­lé et j’u­ti­lise avconv pour mes conver­sions puisque ffm­peg (la com­mande) est dépré­ciée. Cepen­dant, quand je test you­tube-dl avec ton script (qui ne ren­voie aucune erreur), une chose ne fonc­tionne pas, la piste vidéo ne veut pas coopé­rer.
    you­tube-dl la trouve, la télé­charge, les meta­da­ta de la piste semblent bonnes, mais dès qu’il arrive au muxage, avconv me ren­voie “video:0kB audio:1492kB” (j’ai tes­té avec une vidéo de moins de 2 minutes) et me créé un mp4 avec seule­ment la piste audio, comme s’il n’ac­cep­tait pas la source vidéo.
    En essayant avec la com­mande : “you­tube-dl ‑f 137+140 http://www.youtube.com/watch?v=%5BId%5D” sen­sée faire exac­te­ment la même chose, j’ob­tiens le même résul­tat, donc ton script n’est pas le pro­blème, ça c’est sûr.
    Je cherche encore ce qui ne va pas chez moi, à suivre… (si quel­qu’un a une idée)

  3. Essaie la der­nière ver­sion de avconv. Ca marche avec la der­nière ver­sion de ffm­peg, celle que je pro­pose.
    Je com­prends pas d’ailleurs, il n’est pas plus cen­sé y avoir de màj de ffm­peg ?

  4. J’ai véri­fié et trou­vé un repo­si­to­ry plus à jour pour avoir une ver­sion plus récente de ffm­peg, mais cela n’a pas eu d’in­fluence, je pense que cela coince pour moi du côté de you­tube-dl qui doit me rendre la source vidéo illi­sible que même ffm­peg (ou avconv) ne peut sau­ver car ce der­nier ne fait que muxer la vidéo et l’au­dio. Je vais cher­cher plus en pro­fon­deur voir si d’autres n’ont pas le même pro­blème puisque c’est sou­vent très rare d’être le seul à avoir un bug à la noix. Sur­tout que je n’ai pas une dis­trib’ toute pol­luée, j’ai fraî­che­ment ins­tal­lé Mint Petra il y a 2 mois après la mort de mon ancien disque dur :P.

  5. Moi la vidéo télé­char­gée par you­tube-dl est illi­sible, c’est bien ffm­peg qui la rend lisible. Essaie avec la ver­sion de ffm­peg que je pro­pose.

  6. Appa­rem­ment ton ffm­peg ne passe pas bien sur ma console (le genre “can­not exe­cute bina­ry file”). Mais bon, j’ai tes­té ton script par esprit de décou­verte et non pour un besoin de 1080p (mon PC et mon écran sont un peu “vieux” pour y voir une dif­fé­rence avec le 720p de toute façon ;) ).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *