Accueil > > > TÉLÉCHARGER LES VIDEOS DE YOUTUBE AVEC PERMALIEN DEPUIS YOUTUBE
TÉLÉCHARGER LES VIDEOS DE YOUTUBE AVEC PERMALIEN DEPUIS YOUTUBE
Information sur la source
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
- 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
- }
- ?>
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 ;)
Historique
- 16 mars 2009 00:05:04 :
- Ajout de possiblité de download avec un formulaire, et quelque explication.
- 16 mars 2009 23:38:30 :
- Grande mise à jour avec plusieurs modifications.
- 16 mars 2009 23:41:19 :
- Grosse mise à jour !!
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
telecharger d'un fichier pointé par une url sur le server [ par JahSon777 ]
Bonjour, J'aurai voulu savoir si cest possible de telechager un fichier pointé par une url, dans mon cas une image, dans un repertoire du server
Formualire saisie d'URL vidéo : comment faire ? [ par aloisio11 ]
Bonjour à tous,Je développe un site en PHP/MySQL sur lequel j'ai un formulaire dans lequel le visiteur pourra saisir un lien vers une vidéo (Youtube,
cacher l'url d'un fichier a telecharger [ par taz_dd ]
Bonjourje cherche comment faire pour que si un membre de mon forum clique sur un lien de telechargement il ne voit pas la vrai URL du fichier mais une
Deux paramètres dans un select [ par piep14 ]
Bonjour, je voulais savoir si cela serait possible de passer 2 paramètres dans un option d'un select ....J'ai bien fait comme ca :<div class="smallfon
Problème avec les variables passées par l'URL [ par ov3rdoze ]
Bonjour Je viens d'installer easyPHP 1.8 et j'y ai mis mes sites. Cependant certains ne fonctionnent pas (les variables passées par l'URL ne sont pas
Problème de création d'image [ par astrolabbcracker ]
Bonjour et merci de lire ce message, j'ai travaillé un code trouvé sur ce site et j'ai un problème : je télécharge une image sous flash, je la déplace
Reperer si une personne a actualisé une page [ par leolol ]
Bonjours à tous, je suis débutant en programation particulierement en javascript et j'aurait besoin de votre aide.J'aurais besoin d'un script qui repe
récupérer une url aprés un url redirigé [ par pebayart ]
Bonjour tout le monde,J'ai une colle, je cherche depuis plusieurs jours et je ne trouve pas.Voilà, c'est peu être tout simple.Admettons que $url est u
Serveur en panne [ par gazalii ]
bonjour a vous tous je travaille sur une application dont je recupere des informations a partir d'une url je veux faire une gestion de sur le resultat
pb URL Rewrite [ par cedriclomb ]
Bonjour,Voila mon petit problème : chez moi ca marche et comme d'hab bah sur internet ca marche moins bien !J'ai activé l'url rewriting mais en fai
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|