Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/02/2012, à 15:40

Shanx

Script de téléchargement - extraction - conversion (youtube)

Bonjour,
comme l’indique mon titre, je voudrais faire un petit script qui me permettrait de télécharger des vidéos de Youtube, en extraire la bande son puis la convertir en .ogg. Mais faut que je vous avoue que je ne sais absolument pas commet écrire un tel script. Par contre, je pense savoir ce qu’il faut faire. Le script fonctionnerait en deux étapes :

  1. Déjà, on télécharge la vidéo avec clive

  2. Puis on la convertit avec une commande du genre ffmpeg -i fichier_entrer.mp4 -vn -acodec copy fichier_sortie.ogg

Dans l’idéal, la syntaxe de script serait “script.sh [adresse youtube] nom de la musique.ogg”, et à la fin on retrouverai la musique dans le même répertoire.  Mais voilà, maintenant je ne sais absolument pas comment faire. Quelqu’un peut-il m’aider ou me donner un lien qui me renseignera ?

EDIT : en fait, là où je bloque pour écrire un tel script, c’est que je ne sais pas comment faire pour que celui-ci récupère les deux variables entrées par l’utilisateur (c’est à dire l’adresse et le nom souhaité). Parce que sinon, je ne crois pas que ce soit très difficile.

Dernière modification par Shanx (Le 12/02/2012, à 15:58)


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#2 Le 12/02/2012, à 16:04

Dr Le Rouge

Re : Script de téléchargement - extraction - conversion (youtube)

Le premier argument passé en LDC après le nom du programme est stocké dans « $1 », le deuxième dans « $2 », etc. Exemple :

#!/bin/bash

echo $1
echo $2

Ceci t'affiche en première ligne le 1er argument et sur la deuxième le deuxième.

Plus d'info dans la bible big_smile

Dernière modification par Dr Le Rouge (Le 12/02/2012, à 16:12)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#3 Le 12/02/2012, à 16:05

grim7reaper

Re : Script de téléchargement - extraction - conversion (youtube)

Plus d’info ici (Positional parameters).



@Le Rouge : link failure tongue

Dernière modification par grim7reaper (Le 12/02/2012, à 16:06)

Hors ligne

#4 Le 12/02/2012, à 16:10

Shanx

Re : Script de téléchargement - extraction - conversion (youtube)

Ouais, nesthib m’a dit ça sur irc. Du coup, voilà où j’en suis :

#!/bin/bash
clive $1

big_smile
Le truc, c’est que je doit récupérer le nom de la vidéo téléchargée par clive afin de le passer en arguments pour utiliser ffmpeg. Et ça, je sais pas faire non plus. Du coup, je cherche dans le man de clive voir si je ne peux pas imposer le nom de ladite vidéo.flv, pour que ce soit plus simple. Mais je comprend pas tout.

EDIT : trouvé. Bon, j’essaie de m’en sortir avec.

Dernière modification par Shanx (Le 12/02/2012, à 16:12)


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#5 Le 12/02/2012, à 16:11

Dr Le Rouge

Re : Script de téléchargement - extraction - conversion (youtube)

grim7reaper a écrit :

@Le Rouge : link failure tongue

Bon ben puisque que c'est comme ça, je retourne faire du suédois yikes

Dernière modification par Dr Le Rouge (Le 12/02/2012, à 16:12)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#6 Le 12/02/2012, à 16:16

Shanx

Re : Script de téléchargement - extraction - conversion (youtube)

Ça commence bien. Voilà le script (donc que pour télécharger et imposer le nom que je veux) :

#!/bin/bash
clive --filename-format $2 $1

Voilà ce que ça me donne :

┌(guillaume@valinor)-(15:14:09 -:- 02/12)
└[/home/guillaume]$  ./dlyoutube.sh http://www.youtube.com/watch?v=zIR2No_LHAY&feature=related test
[1] 25160
┌(guillaume@valinor)-(15:14:09 -:- 02/12)
└[/home/guillaume]$ 
[1]  + suspended (tty input)  ./dlyoutube.sh http://www.youtube.com/watch?v=zIR2No_LHAY

Alors que quand je fais

clive --filename-format test.flv http://www.youtube.com/watch?v=zIR2No_LHAY&feature=related

ça fonctionne…

Dernière modification par Shanx (Le 12/02/2012, à 16:24)


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#7 Le 12/02/2012, à 16:22

Dr Le Rouge

Re : Script de téléchargement - extraction - conversion (youtube)

Vu que tu appelles explicitement sh dans ta ligne de commande, ça rajoute un argument. Du coup, tout est décalé ! Il essaie de télécharger « sh » pour le mettre dans « youtube/blabla ». Appelle ton script comme ça :

./dlyoutube.sh <youtube stuff> test.flv

C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#8 Le 12/02/2012, à 16:23

Shanx

Re : Script de téléchargement - extraction - conversion (youtube)

J’ai vu, et j’avais déjà corrigé. Ça ne marche pas (même erreur).


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#9 Le 12/02/2012, à 16:30

pingouinux

Re : Script de téléchargement - extraction - conversion (youtube)

Bonjour,

Snanx #6 a écrit :

$  ./dlyoutube.sh http://www.youtube.com/watch?v=zIR2No_L … re=related test
Alors que quand je fais
clive --filename-format test.flv http://www.youtube.com/watch?v=zIR2No_L … re=related

Les deux appels ne sont pas équivalents : test dans le premier, test.flv dans le second

Hors ligne

#10 Le 12/02/2012, à 16:32

Shanx

Re : Script de téléchargement - extraction - conversion (youtube)

C’est pas faux…

┌(guillaume@valinor)-(15:31:21 -:- 02/12)
└[/home/guillaume]$ ./dlyoutube.sh http://www.youtube.com/watch?v=zIR2No_LHAY&feature=related test.flv
[8] 27189
zsh: command not found: test.flv
┌(guillaume@valinor)-(15:31:24 -:- 02/12)
└[/home/guillaume]$ 
[8]  + suspended (tty input)  ./dlyoutube.sh http://www.youtube.com/watch?v=zIR2No_LHAY

Bon, maintenant faut que je trouve comment on règle ça…


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#11 Le 12/02/2012, à 16:39

pingouinux

Re : Script de téléchargement - extraction - conversion (youtube)

Le Rouge #7 a écrit :

Vu que tu appelles explicitement sh dans ta ligne de commande, ça rajoute un argument

Il ne semble pas que ça fasse une différence :

$ cat x
#!/bin/bash
echo \$0=$0 \$1=$1 \$2=$2

$ ./x arg1 arg2
$0=./x $1=arg1 $2=arg2

$ sh ./x arg1 arg2
$0=./x $1=arg1 $2=arg2

Hors ligne

#12 Le 12/02/2012, à 16:51

Dr Le Rouge

Re : Script de téléchargement - extraction - conversion (youtube)

Bon ben j'ai rien dit alors ^^


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#13 Le 12/02/2012, à 17:27

grim7reaper

Re : Script de téléchargement - extraction - conversion (youtube)

Shanx a écrit :

Bon, maintenant faut que je trouve comment on règle ça…

Facile.
Dans ton lien tu as le caractère & qui est utilisé pour lancer un programme en arrière plan.
Pour éviter ça, utilise des simples quotes autour de ton lien.

./dlyoutube.sh 'http://www.youtube.com/watch?v=zIR2No_LHAY&feature=related' test.flv

Ou dégage le "&feature=related" qui sert à que dalle.

Dernière modification par grim7reaper (Le 12/02/2012, à 17:34)

Hors ligne

#14 Le 12/02/2012, à 20:52

Hizoka

Re : Script de téléchargement - extraction - conversion (youtube)

smo a deja fait quelque chose comme ca : http://forum.ubuntu-fr.org/viewtopic.php?id=433527

il est vraiment bon smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne