Télécharger les videos de youtube avec permalien depuis youtube

Soyez le premier à donner votre avis sur cette source.

Vue 28 763 fois - Téléchargée 1 162 fois

Description

Salut,
Suite à la version précèdente, voilà la nouvelle mise à jour importante.
Voilà ce que peut faire le script :
- Télécharger une vidéo depuis Youtube sur votre serveur en flv ou en mp4. Attention, ça prends du temps. Si vous tester en locale, évitez de télécharger les vidéos, parce que ça va buger à cause de votre connexion qui n'est pas capable de télécharger une telle vidéo.
- Donner le lien direct de téléchargement temporaire de la vidéo en flv et mp4. Quand je dit temporaire, ça veut dire qu'il marche que pour une session donc inutile de l'envoyer ou de le poster sur les forums.
- Donner un lien permanent (je suis fière de cette exploit) de la vidéo depuis youtube en flv et en mp4 en passant par votre page. Aucun fichier n'est hébergé sur votre site, seulement cette page qui génère le lien chaque fois qu'on clique dessus et redirige vers le téléchargement sans que l'utilisateur ne verra que du feu ;) Conclusion, c'est celui là que vous pouvez postez sur les forums.
- Afficher la minature de la vidéo. (Celle affiché sur Youtube).

/!\ Attention, si vous utilisez de copier la vidéo sur votre serveur, ça va vous bouffer tant de bande passante !! N'optez pour cette solution que si vous avez une bande passante illimité ;)

- Pour utilisez le script, télécharger le ZIP, et uploadez le tous, et donner un CHMOD 777 sur le dossiers vidéo, si vous voulez copier les vidéos sur votre serveur.

- Ou bien créer 2 page, index.php et lien.php et un dossier videos, que vous donnez le CHMOD (permissions) 777.

Voici la source :

Source / Exemple :


la page : index.php
======================================

<?php
// On déclare la fonction du téléchargement avant.
function get_video_url_youtube($page)
{
	$url = $page.'&';
	$regex = '/v=(.+?)&+/';
	preg_match($regex, $url, $vid_code);
	$input = file_get_contents($page);
	$regex = '/&t=(.+?)&+/';
	preg_match($regex, $input, $vid_t);
	return 'http://www.youtube.com/get_video?video_id='.$vid_code[1].'&t='.$vid_t[1].'=';
}
?>

<html>
<head>
<title>Youtube Téléchargeur</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<center>
<h1>Télécharger les vidéos de Youtube</h1>
<?php
if (!isset($_POST['lien'])) // On vérifie si le formulaire est déjà rempli, sinon on l'affiche
{
echo '
<form method="post">
Lien de la vidéo : <input type="text" name="lien" /><br />
Format de sortit : <input type="radio" name="format" value="flv" checked="checked" /> FLV <input type="radio" name="format" value="mp4" /> MP4<br />
Télécharger sur votre serveur : <input type="radio" name="down" value="oui" checked="checked" /> Oui <input type="radio" name="down" value="non" /> Non<br /><br />
<input type="submit" value="Télécharger" />
</form> ';
}
else // Le formulaire est rempli
{
	// On récupère les variables
	$lien = $_POST['lien']; // Le lien de la vidéo
	$down = $_POST['down']; // Si la vidéo est télécharger sur le serveur
	$format = $_POST['format']; // Format désiré
	
	// On récupère les lien de la vidéo
	$lien_yt_flv = get_video_url_youtube($lien); // La vidéo en flv
	$lien_yt_mp4 = $lien_yt_flv.'&fmt=18'; // La vidéo en mp4
	
	// Si on demande le téléchargement de la video, On la copie sur le serveur
	if ($down == "oui")
	{
		if ($format == "flv") // Le format est en FLV
		{
			$newname = 'videos/'.time().'.flv'; // On donne un nouveau nom et on ajoute l'extention
			copy($lien_yt_flv, $newname);
		}
		else // Le format est en MP4
		{
			$newname = 'videos/'.time().'.mp4'; // On donne un nouveau nom et on ajoute l'extention
			copy($lien_yt_mp4, $newname);
		}
	}
	
	// Pour obtenir l'id de la vidéo
	$url = $lien.'&';
	$regex = '/v=(.+?)&+/';
	preg_match($regex, $url, $vid_code);
	//On affiche l'image
	echo '<img src="http://i1.ytimg.com/vi/'.$vid_code[1].'/default.jpg"><br /><br />';
	// On affiche les résultat
	echo '<a href="'.$lien_yt_flv.'">Lien depuis Youtube en FLV<br /></a>';
	echo '<a href="'.$lien_yt_mp4.'">Lien depuis Youtube en MP4<br /></a>';
	// On teste d'abord si on a demandé de copier la vidéo sur notre sevreur
	if ($down == "oui")
	{
		if ($format == "flv") // Le format est en FLV
		{
			echo '<a href ="'.$newname.'">Lien depuis votre serveur en FLV</a><br />';
		}
		else // Le format est en MP4
		{
			echo '<a href ="'.$newname.'">Lien depuis votre serveur en MP4</a><br />';
		}
	}
	// On affiche les permaliens.
	echo '<a href ="lien.php?id='.$vid_code[1].'&type=flv">Lien permanant depuis Youtube en FLV</a><br />';
	echo '<a href ="lien.php?id='.$vid_code[1].'&type=mp4">Lien permanant depuis Youtube en MP4</a><br /><br />';

}
?>
Attention : Si vous télécharger la vidéo depuis Youtube et non depuis votre serveur, vous devez la renommer en ajoutant .flv ou .mp4 à la fin du fichier téléchagré.
</center>
</body>
</html>

la page : lien.php
======================================

<?php

function get_video_url_youtube($page) // Encore la fonction super sympa :p
{
	$url = $page.'&';
	$regex = '/v=(.+?)&+/';
	preg_match($regex, $url, $vid_code);
	$input = file_get_contents($page);
	$regex = '/&t=(.+?)&+/';
	preg_match($regex, $input, $vid_t);
	return 'http://www.youtube.com/get_video?video_id='.$vid_code[1].'&t='.$vid_t[1].'=';
}

// récupère les variables
$id = $_GET['id'];
$type = $_GET['type'];

$lien = 'http://www.youtube.com/watch?v='.$id;

$lien_yt_flv = get_video_url_youtube($lien); // La vidéo en flv
$lien_yt_mp4 = $lien_yt_flv.'&fmt=18'; // La vidéo en mp4
	

if ($type == "flv") // On vérifie le type
{
	header("Location: $lien_yt_flv"); // Puis on redirege vers le lien de téléchargement
}
else
{
	header("Location: $lien_yt_mp4"); // idem en cas de mp4
}
?>

Conclusion :


Voilà, je crois que c'est tous.
Je vais essayer d'améliorer le code, avec vos commentaires.
Un grand merci à griffondor pour son soutien ;)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

&t='.$vid_t[1].
ne fonctionne pas !
y a t-il une solution ?
Messages postés
9
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
11 juillet 2012

Salut ,

Alors personne a trouver comment le remettre en marche ce script?

:(

Cordialement
Messages postés
14
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
5 janvier 2012

Aprés pas mal de recherche, je ne sais pas comment trouver l'adresse du fichier stocké... (je suis en train d'essayer de remettre le code en état de marche)
J'ai fait pas mal de recherche sur le net, mais impossible a trouver... Quelqu'un aurait-il une aide a me fournir?
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Super, les colporteurs arrivent sur CS. Bizarre, j'avais cru m'être désabonné de cette source et pourtant les e-mails reviennent ??
Messages postés
3
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
9 novembre 2009

Avec Emicsoft HD Vidéo Convertisseur pour Mac, Vous avez faitez conversion du format HD vidéo en WAV, MP3, etc sans problème. Essayiez autre programme pour aider!!Emicsoft M2TS Converter for Mac, Emicsoft M4V Converter for Mac.

www.emicsoft.com/hd-video-converter-for-mac.html
www.emicsoft.com/m2ts-converter-for-mac.html
www.emicsoft.com/m4v-converter-for-mac.html
Afficher les 174 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.