Bonjour, je ne pouvais pas mettre un titre complet mais je partagerais un script PHP (celui de
http://flamzat.fr) pour télécharger vos musiques ou vidéos Youtube depuis votre machine ou depuis un serveur web.
Commençons par ajouter le paquet Debian,
nano /etc/apt/sources.list
puis on ajoute à la fin,
deb http://ftp.de.debian.org/debian sid main
Ensuite, on ferme à l'aide de CTRL + X, ça vous demande si vous voulez l'enregistrer vous mettez Y puis ENTRER.
On actualise ses paquets,
apt-get update
Une fois terminé, on installe le paquet Youtube-dl,
sudo apt-get install youtube-dl -y
Voilà, vous pouvez télécharger des musiques, vidéos Youtube, Daylimotion, Watch & autre
Ah ! J'allais oublier ! Il vous faudra FFMPEG ! On l'installe,
sudo apt-get install ffmpeg -y
Il s'occupe de la conversion des vidéos.
Les commandes :
Télécharger une vidéo en format MP4 :
youtube-dl LIEN_VIDEO
Télécharger une musique en format MP3 :
youtube-dl --extract-audio --audio-format mp3 LIEN_VIDEO
Télécharger une musique en format MP3 dans un dossier spécifique :
youtube-dl -o "REPERTOIRE/%(title)s.%(ext)s" --extract-audio --audio-format mp3 LIEN_VIDEO
Obtenir le nom d'une musique :
youtube-dl --get-title LIEN_VIDEO
BONUS :
Créer un fichier index.php, puis insérer ce bout de code dedans :
<?php
$VIDEO = $_GET['lien'];
$CODE01 = str_replace("https://www.youtube.com/watch?v=", "", $VIDEO);
$CODE02 = str_replace("http://www.youtube.com/watch?v=", "", $CODE01);
$CODE03 = str_replace("http://www.m.youtube.com/watch?v=", "", $CODE02);
$CODE = str_replace("https://www.m.youtube.com/watch?v=", "", $CODE03);
$musiquefichier = "musiques/".$CODE.".mp3";
$name = shell_exec('youtube-dl --get-title '.$_GET['lien']);
$hashnom1 = str_replace("\"", "", $name);
$hashnom2 = str_replace(" ", "-", $hashnom1);
$hashnom3 = str_replace("#", "-", $hashnom2);
$hashnom4 = str_replace("_", "-", $hashnom3);
$hashnom5 = str_replace("--", "-", $hashnom4);
$hashnom = str_replace("&", "et", $hashnom5);
if(isset($VIDEO) && $VIDEO != NULL) {
if (preg_match("/\byoutube.com\b/i", $VIDEO)) {
if (file_exists($musiquefichier)) {
echo $hashnom;
echo 'Lien de téléchargement : <a href="telecharger.php?musique='.$hashnom.'&code='.$CODE.'">Télécharger votre fichier en cliquant ici.</a>';
} else {
$download = shell_exec('youtube-dl -o "/home/flamzat/public_html/musiques/'.$CODE.'.%(ext)s" --extract-audio --audio-format mp3 '.$_GET['lien']);
echo '<center>Conversion terminée ! <a href="telecharger.php?musique='.$hashnom.'&code='.$CODE.'">Télécharger votre fichier en cliquant ici.</a>';
} } else { echo 'Vous n\'avez pas entré de lien Youtube.'; } } else {
echo 'Veuillez entrer un lien s\'il vous plaît, merci.';
}
?>
// ATTENTION : Ce script a été fait par moi-même, si vous voulez le partager merci de mettre mon nom \\
Pour télécharger, faites :
http://ip_de_votre_serveur/index.php?lien=LIEN_VIDEO
Le script vérifie si vous avez mis une url contenant youtube.com,
ensuite il retire
https://www.m.youtube.com/watch?v= et prends que le code de la fin, puis télécharge CODE.mp3 (si vous mettez le nom de la vidéo, il se peut que ça bug puisqu'il y a certains noms de vidéos avec # " ' & que otre navigateur ne supporte pas).
Ensuite, on fait un fichier nommé telecharger.php contenant ce code :
<?php
$nom = $_GET['musique'];
$code = $_GET['code'];
$musiquefichier = "".$code.".mp3";
$nommusique = "musiques/".$nom.".mp3";
if (file_exists($musiquefichier)) {
header("Pragma: public", true);
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename($nommusique));
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($musiquefichier));
die(file_get_contents($musiquefichier));
} else {
echo 'Ce fichier n\'éxiste pas.';
}
?>
Ces codes proviennent de mon site et ont été fait en peu de temps.