...
Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment obtenir des vignettes à partir de vidéos YouTube, Vimeo et Dailymotion

63

Vous cherchez à obtenir la vignette des vidéos YouTube, Vimeo et Dailymotion? Ces 3 sont les sites de partage de vidéos les plus populaires sur Internet. Chacune de ces plates-formes permet aux utilisateurs de récupérer la vignette vidéo de leurs vidéos. Dans cet article, nous voyons comment obtenir la vignette en utilisant l’URL de la vidéo de ces plateformes.

Lorsque vous intégrez une galerie vidéo sur les sites Web, vous devez afficher les vignettes vidéo. Et puis, en cliquant sur la vignette, une vidéo connexe devrait être lue. L’intégration de vidéos à l’aide d’une balise iframe n’est pas recommandée. Cela prend beaucoup de bande passante d’un serveur et augmente la taille de la page.

Je vais écrire un code qui récupère la vignette de la vidéo via une URL de vidéo. En cliquant sur ces vignettes, vous pouvez lire vos vidéos en utilisant la fantaisie ou toute autre solution personnalisée que vous préférez.

Cela dit, voyons un par un comment obtenir des vignettes de vidéos YouTube, Vimeo et Dailymotion.

Obtenir une vignette à partir de l’URL de la vidéo YouTube

Pour notre tutoriel, je suppose que vous passez l’URL de la vidéo pour obtenir la vignette d’une vidéo. Dans le cas de YouTube, plusieurs types d’URL valides sont disponibles. Vous trouverez ci-dessous les URL valides de la vidéo YouTube :

La méthode ci-dessous extrait l’identifiant de la vidéo à partir de l’un des formats d’URL ci-dessus.

<?php
function extractVideoID($url){
    $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
    preg_match($regExp, $url, $video);
    return $video[7];
}
?>

Une fois que vous avez extrait l’identifiant de la vidéo de l’URL, vous pouvez facilement obtenir une miniature de la vidéo en utilisant la méthode ci-dessous :

<?php
function getYouTubeThumbnailImage($video_id) {
    return "//i3.ytimg.com/vi/$video_id/hqdefault.jpg";
}
?>

Ici, nous récupérons la vignette par défaut avec hqdefault.jpg. On peut passer différentes valeurs comme 0.jpg, 1.jpgpour obtenir une taille de vignette différente.

Ainsi, notre code final pour obtenir la vignette de l’URL de la vidéo YouTube est :

<?php
function extractVideoID($url){
    $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
    preg_match($regExp, $url, $video);
    return $video[7];
}
 
function getYouTubeThumbnailImage($video_id) {
    return "https://i3.ytimg.com/vi/$video_id/hqdefault.jpg"; //pass 0,1,2,3 for different sizes like 0.jpg, 1.jpg
}
 
$video_url = 'YOUTUBE_VIDEO_URL';
$video_id = extractVideoID($video_url);
$thumbnail =  getYouTubeThumbnailImage($video_id);
echo "<img src='$thumbnail' />";
?>

Obtenez des vignettes à partir de vidéos Vimeo et Dailymotion

En cherchant une solution pour extraire l’identifiant vidéo des URL de vidéo Vimeo et Dailymotion, j’ai trouvé cette ressource. J’ai utilisé leur méthode pour extraire l’identifiant vidéo des URL vidéo de Vimeo et Dailymotion. Cette méthode prend en charge tous les formats d’URL valides des vidéos Vimeo et Dailymotion.

En cas de récupération de vignettes de vidéos Vimeo, le code sera le suivant :

<?php
function getVimeoId($url)
{
    if (preg_match('#(?:https?://)?(?:www.)?(?:player.)?vimeo.com/(?:[a-z]*/)*([0-9]{6,11})[?]?.*#', $url, $m)) {
        return $m[1];
    }
    return false;
}
 
function getVimeoThumb($id)
{
    $arr_vimeo = unserialize(file_get_contents("https://vimeo.com/api/v2/video/$id.php"));
    return $arr_vimeo[0]['thumbnail_small']; // returns small thumbnail
    // return $arr_vimeo[0]['thumbnail_medium']; // returns medium thumbnail
    // return $arr_vimeo[0]['thumbnail_large']; // returns large thumbnail
}
 
$video_url = 'VIMEO_VIDEO_URL';
$video_id = getVimeoId($video_url);
$thumbnail = getVimeoThumb($video_id);
echo "<img src='$thumbnail' />";
?>

Pour la vidéo Vimeo, nous pouvons utiliser 3 valeurs comme thumbnail_small, thumbnail_medium, thumbnail_large pour obtenir respectivement les petites, moyennes et grandes tailles de vignette.

Enfin, le code pour obtenir la vignette de la vidéo Dailymotion est le suivant.

<?php
function getDailyMotionId($url)
{
    if (preg_match('!^.+dailymotion.com/(video|hub)/([^_]+)[^#]*(#video=([^_&]+))?|(dai.ly/([^_]+))!', $url, $m)) {
        if (isset($m[6])) {
            return $m[6];
        }
        if (isset($m[4])) {
            return $m[4];
        }
        return $m[2];
    }
    return false;
}
 
function getDailymotionThumb($id) {
    $thumbnail_large_url = 'https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_360_url'; //pass thumbnail_360_url, thumbnail_480_url, thumbnail_720_url, etc. for different sizes
    $json_thumbnail = file_get_contents($thumbnail_large_url);
    $arr_dailymotion = json_decode($json_thumbnail, TRUE);
    $thumb = $arr_dailymotion['thumbnail_360_url'];
    return $thumb;    
}
 
$video_url = 'DAILYMOTION_VIDEO_URL';
$video_id = getDailyMotionId($video_url);
$thumbnail = getDailymotionThumb($video_id);
echo "<img src='$thumbnail' />";
?>

J’espère que vous comprenez comment obtenir la vignette des vidéos YouTube, Vimeo et Dailymotion. Si vous utilisez une autre méthode pour y parvenir, veuillez me le faire savoir dans la section commentaire ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails