lundi 17 décembre 2012

TUTO: Script de téléchargement pour Youtube.dl

Youtube movies, easy download...

J'ai trouvé ce script sur ce site: damien.mauran.free.fr

N'hésitez pas à vous y référer si quelque chose ne se passe pas comme prévu et notamment si vous êtes sous Ubuntu.
J'ai arrangé ce script à la sauce Debian en changeant une petite chose:
l'emplacement de youtube.dl qui n'est pas le même sous Debian Wheezy: j'ai donc remplacé "/opt/youtube/youtube-dl" par "/usr/bin/youtube-dl" (le changement est en rouge).
Voici le script modifié:


#!/bin/sh
#
# Récupération de la référence youtube de la vidéo dans la variable "reference"
reference=$(zenity --entry --text="Veuillez entrer la référence de la vidéo Youtube à télécharger :" --title="Télécharger vidéo Youtube")
# Mise en forme de l'adresse de téléchargement à partir de "reference"
adresse_url="http://www.youtube.com/watch?v="$reference
# Téléchargement de la vidéo au format FLV avec barre de progression
/usr/bin/youtube-dl $adresse_url 2> erreur.txt | zenity --progress --title="Téléchargement en court" --auto-close --text="Veuillez patienter ..." --auto-kill --pulsate
erreur=$(cat erreur.txt)
rm erreur.txt
# Test d'erreur de youtube-dl
if [ $erreur="" ]
then
# Récupération du nom de fichier FLV (normalement "reference".flv)
nom_fichier=$(ls *.flv) 
# Demande du nom de fichier final désiré
nom_final=$(zenity --entry --text="Veuillez entrer un titre pour cette vidéo :" --title="Télécharger vidéo Youtube")
# Ajout de l'extension .avi au nom de fichier final désiré
nom_final_complet=$nom_final".avi"
# Conversion du FLV en AVI
ffmpeg -i "$nom_fichier" -f avi "$nom_final_complet" | zenity --progress --title="Conversion en court" --auto-close --text="Veuillez patienter ..." --auto-kill --pulsate
# suppression du fichier FLV
rm $nom_fichier
zenity --info --title="Télécharger vidéo Youtube" --text="Opération terminée avec succès"
else
# Si erreur, affichage d'un message d'avertissement et fin
zenity --warning --text="Téléchargement impossible. \n Message d'erreur : \n \n $erreur \n \n Vérifiez l'adresse ou la connexion internet." --title="Erreur de téléchargement"
telechar_erreur=$reference".flv"
rm $telechar_erreur
fi


  1. Si ce n'est pas déjà fait, installer Youtube.dl à partir de Synaptic ainsi que les dépendances éventuelles et autres programmes nécessaires comme Zenithy. Attention, il est possible que la version dans Squeeze soit un peu ancienne. S'il y a un problème par la suite, ne désespérez pas, voir le site en haut de message, voir aussi le message précédent.
  2. Copiez-collez le contenu du script ci-dessus et enregistrez-le sous youtube.sh dans votre dossier personnel /home/nomutilisateur.
  3. Ensuite, copiez-collez et lancez cette commande dans un terminal pour copier ce fichier dans le dossier /opt/youtube et le rendre exécutable.
Attention, pour modifier ensuite youtube.sh (éventuellement), vous devrez être "root".
sudo cp youtube.sh /opt/youtube && sudo chmod 755 /opt/youtube/youtube.sh 

Pour créer un lanceur sous XFCE4 : commande à utiliser
/opt/youtube/youtube.sh

et une icône suggérée... (P'tẽt pas libre, mais rien ne vous empêche de la modifier...)


Bon, en tous cas, ça a marché pour moi!

Précision: c'est assez long comme processus du fait de la conversion en AVI. J'envisage de modifier le script pour ne pas faire cette conversion ou tout au moins ne pas supprimer le fichier *.flv.

ATTENTION! Il s'est passé des choses bizarres. Ce script a produit une vidéo AVI qui n'était pas du tout celle attendue. Le titre était bon (une vidéo d'avions), mais le contenu était une une vidéo précédemment téléchargée (!?!), en fait une vidéo de voiliers anciens. Par contre, un fichier *.mp4 portant l'ídentifiant de Youtube est apparu dans mon dossier perso... Lisible et correspondant bien au film téléchargé, mais très lourd. Donc, ça ne fonctionne pas très bien.

Aucun commentaire:

Enregistrer un commentaire

Ajoutez un commentaire mais en bon Français ou éventuellement en bon Anglais. Les commentaires en langage SMS seront supprimés.