Téléchargé 11 fois
Vote des utilisateurs
1
0
Détails
Licence : Non renseignée
Mise en ligne le 1er juin 2022
Plate-formes :
Linux, Windows
Langue : Anglais
Référencé dans
Navigation
Easy YouTube DL
Easy YouTube DL
Simple application pour faciliter l'usage de youtube-dl, l'outil de téléchargement de vidéos YouTube.
Bonsoir Roland,
Merci pour le lien, l'affaire est faite.
Maintenant, il va falloir rajouter du code sous le bouton Download si on veut retrouver la vidéo téléchargée. Verrai ça demain...
Sinon, j'ai trouvé cette histoire de format pas très intuitive (aucune information pour savoir à quoi ça correspond), et que signifie ce "18" qu'on retrouve à la dernière ligne de l'exemple : hasard ou coïncidence ?
(image rétrécie pour aller à l'essentiel) :
Merci pour le lien, l'affaire est faite.
Maintenant, il va falloir rajouter du code sous le bouton Download si on veut retrouver la vidéo téléchargée. Verrai ça demain...
Sinon, j'ai trouvé cette histoire de format pas très intuitive (aucune information pour savoir à quoi ça correspond), et que signifie ce "18" qu'on retrouve à la dernière ligne de l'exemple : hasard ou coïncidence ?
(image rétrécie pour aller à l'essentiel) :
Salut bonjour,
J'ai apporté deux microscopiques modifs :
1- remplacé ce TMemo aux lignes non cliquables par une TListBox (lbxOutput) et j'ai rajouté une procédure :
plus qu'à récupérer le 1er champ de la ligne sélectionnée (mais j'ai pas trop le temps, là…)
2- pour éviter cette erreur très moche au lancement (URL validation failed), j'ai ajouté ça dans le FormCreate :
À plus et merci !
J'ai apporté deux microscopiques modifs :
1- remplacé ce TMemo aux lignes non cliquables par une TListBox (lbxOutput) et j'ai rajouté une procédure :
Code : | Sélectionner tout |
1 2 3 4 | procedure TForm1.lbxOutputSelectionChange(Sender: TObject; User: boolean); // jpt begin EDFormat.Text := lbxOutput.Items.Strings[lbxOutput.ItemIndex]; end; |
2- pour éviter cette erreur très moche au lancement (URL validation failed), j'ai ajouté ça dans le FormCreate :
Code : | Sélectionner tout |
Clipboard.AsText:='https://www.youtube.com/watch?v=zMf9XDQBAaI';// jpt
Bonjour,
Oui.
Je ne m'en étais pas rendu compte jusqu'à présent,
Pour me faire pardonner, l'astuce pour avoir la scrollbar horizontale (mais dommage, je n'ai pas trouvé comment comment ne pas l'avoir au lancement -- bah...)
et ça donne ça :
qui permet de voir ce qui se cache à droite,
Pour obtenir cette image, j'ai d'abord cliqué sur List Formats puis sur la ligne 133.
Ensuite j'ai lancé le download et là, force est de constater qu'on se croirait revenu au bon vieux temps des modems 1200 bauds, tellement le dl se traine...
10 minutes pour 35 Mo, j'ai arrêté, tant pis pour Bach.
C'est à regretter d'avoir fait installer la fibre,
Doit y avoir un truc à optimiser quelque part mais je ne vois pas trop où.
Peut-être dans procedure TPipeThread.Show; ?
Une idée ?
Oui.
Je ne m'en étais pas rendu compte jusqu'à présent,
Pour me faire pardonner, l'astuce pour avoir la scrollbar horizontale (mais dommage, je n'ai pas trouvé comment comment ne pas l'avoir au lancement -- bah...)
Code : | Sélectionner tout |
1 2 3 4 5 | procedure TForm1.FormResize(Sender: TObject); // source : https://forum.lazarus.freepascal.org/index.php/topic,11778.msg80832.html#msg80832 begin lbxOutput.ScrollWidth := lbxOutput.Width+25; // jpt end; |
qui permet de voir ce qui se cache à droite,
Pour obtenir cette image, j'ai d'abord cliqué sur List Formats puis sur la ligne 133.
Ensuite j'ai lancé le download et là, force est de constater qu'on se croirait revenu au bon vieux temps des modems 1200 bauds, tellement le dl se traine...
10 minutes pour 35 Mo, j'ai arrêté, tant pis pour Bach.
C'est à regretter d'avoir fait installer la fibre,
Doit y avoir un truc à optimiser quelque part mais je ne vois pas trop où.
Peut-être dans procedure TPipeThread.Show; ?
Une idée ?
Bonjour,
Ah tiens, un truc qui a l'air intéressant, et avec les sources on va pouvoir tuner tip-top l'ihm, donc je dl.
J'enregistre le zip quelque part, j'extrais le projet, je lance Laz et je lui demande d'ouvrir le .lpi (puisque, je le rappelle, cet outil n'est pas capable de comprendre que quand je double-clique sur un .lpi c'est pour l'ouvrir, ) et là, surprise et stupéfaction, rien ne s'affiche !
Enfin, si, l'ide s'affiche, mais l'inspecteur d'objets est vide et quand je fais Projet / Fiches... c'est vide, tout comme Projet / Unités... ou Projet / Retirer du projet...
Quant à Projet / Voir le code source, ça n'affiche rien.
Une idée de la subtilité qui m'a échappé ?
Config : Linux Debian Bullseye 11.3 / Laz 2.0.12
Merci,
Ah tiens, un truc qui a l'air intéressant, et avec les sources on va pouvoir tuner tip-top l'ihm, donc je dl.
J'enregistre le zip quelque part, j'extrais le projet, je lance Laz et je lui demande d'ouvrir le .lpi (puisque, je le rappelle, cet outil n'est pas capable de comprendre que quand je double-clique sur un .lpi c'est pour l'ouvrir, ) et là, surprise et stupéfaction, rien ne s'affiche !
Enfin, si, l'ide s'affiche, mais l'inspecteur d'objets est vide et quand je fais Projet / Fiches... c'est vide, tout comme Projet / Unités... ou Projet / Retirer du projet...
Quant à Projet / Voir le code source, ça n'affiche rien.
Une idée de la subtilité qui m'a échappé ?
Config : Linux Debian Bullseye 11.3 / Laz 2.0.12
Merci,
Bonjour Jipété. Merci d'avoir signalé le problème.
J'ai créé le projet avec Lazarus 2.3.0. Je pense que c'est de là que vient le problème.
Il y a un outil qui sert à résoudre ce problème : fixlp
Après avoir compilé l'outil, il faut l'exécuter avec le nom du projet (le fichier lpi) comme paramètre. Le projet est modifié pour être compatible avec les anciennes versions de Lazarus.
J'ai créé le projet avec Lazarus 2.3.0. Je pense que c'est de là que vient le problème.
Il y a un outil qui sert à résoudre ce problème : fixlp
Après avoir compilé l'outil, il faut l'exécuter avec le nom du projet (le fichier lpi) comme paramètre. Le projet est modifié pour être compatible avec les anciennes versions de Lazarus.
Merci pour tes suggestions Jipété. Ce sont de bonnes idées.
Si tu n'as rien d'autre sous la main tu peux utiliser cette fonction-ci.
Si tu n'as rien d'autre sous la main tu peux utiliser cette fonction-ci.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | function TForm1.ExtractFormatNumber(const AText: string; out ANumber: string ): boolean; const CFormatSpecification = '(\d+)\s+(mp4|m4a|webm)\s+.+'; var LExpr: TRegExpr; begin LExpr := TRegExpr.Create(CFormatSpecification); result := LExpr.Exec(AText); if result then ANumber := LExpr.Match[1]; LExpr.Free; end; |
J'exécute toujours l'application depuis son propre répertoire, qui contient aussi youtube-dl. Donc les vidéos atterrissent là aussi.
Je ne me suis pas posé la question de savoir ce qui se passe quand on exécute l'application depuis un autre répertoire. J'imagine que les vidéos sont dans le répertoire depuis lequel on lance l'application, non ?
Je ne me suis pas posé la question de savoir ce qui se passe quand on exécute l'application depuis un autre répertoire. J'imagine que les vidéos sont dans le répertoire depuis lequel on lance l'application, non ?
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.