IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 8 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

Simple application pour faciliter l'usage de youtube-dl, l'outil de téléchargement de vidéos YouTube.
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 30/05/2022 à 23:57
Bonsoir Roland,
Citation Envoyé par Roland Chastain Voir le message
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 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) :
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 31/05/2022 à 8:49
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 :
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;
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 :
Code : Sélectionner tout
Clipboard.AsText:='https://www.youtube.com/watch?v=zMf9XDQBAaI';// jpt
À plus et merci !
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 01/06/2022 à 10:52
Bonjour,

Citation Envoyé par Roland Chastain Voir le message
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 ?
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;
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 ?
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 30/05/2022 à 9:32
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,
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 30/05/2022 à 13:49
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.
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 31/05/2022 à 7:02
Citation Envoyé par Jipété Voir le message
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 ?
Oui, c'est vrai que ce n'est pas très parlant.

Le TEdit sert à saisir le numéro de format qui sera passé dans la ligne de commande. Il est prérempli à 18, parce que c'est généralement la valeur que j'utilise. Oui, c'est le même 18 qu'on retrouve dans la liste des formats.
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 31/05/2022 à 13:36
Merci pour tes suggestions Jipété. Ce sont de bonnes idées.

Citation Envoyé par Jipété Voir le message
plus qu'à récupérer le 1er champ de la ligne sélectionnée (mais j'ai pas trop le temps, là…)
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;
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 31/05/2022 à 15:45
Citation Envoyé par Roland Chastain Voir le message
Merci pour tes suggestions Jipété. Ce sont de bonnes idées.


Citation Envoyé par Roland Chastain Voir le message
Si tu n'as rien d'autre sous la main tu peux utiliser cette fonction-ci.


Citation Envoyé par Jipété Voir le message
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...
On est demain et je n'ai pas d'idée...
Tu fais comment, toi ?
Avatar de Roland Chastain
Rédacteur/Modérateur https://www.developpez.com
Le 31/05/2022 à 18:01
Citation Envoyé par Jipété Voir le message
Tu fais comment, toi ?
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 ?
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.