✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man får miniatyrbild från YouTube, Vimeo och Dailymotion-videor

21

Vill du få miniatyrbilden av videoklippen YouTube, Vimeo och Dailymotion? Dessa 3 är de mest populära videodelningswebbplatserna på internet. Var och en av dessa plattformar tillåter användare att hämta videominiatyren av sina videor. I den här artikeln ser vi hur du får miniatyren med hjälp av video-URL: n för dessa plattformar.

När du integrerar ett videogalleri på webbplatserna bör du visa videominiatyrerna. Och sedan vid klick på miniatyren ska en relaterad video spelas upp. Bädda in videor med en iframe-tagg rekommenderas inte. Det tar mycket bandbredd för en server och ökar sidstorleken.

Jag ska skriva en kod som får miniatyren av videon via en video-URL. Om du klickar på dessa miniatyrer kan du spela upp dina videoklipp med hjälp av fancybox eller andra anpassade lösningar du föredrar.

Med detta sagt, låt oss se en efter en hur man får miniatyrer av YouTube, Vimeo och Dailymotion-videor.

Skaffa miniatyrbild från YouTube Video URL

För vår handledning antar jag att du skickar videon URL för att få miniatyren av en video. När det gäller YouTube finns det flera typer av giltiga webbadresser tillgängliga. Nedan visas de giltiga webbadresserna till YouTube-video:

Metoden nedan extraherar video-id från något av ovanstående URL-format.

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

När du väl har extraherat video-id: t från webbadressen kan du enkelt få miniatyr av videon med hjälp av nedanstående metod:

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

Här hämtar vi standardminiatyren med hqdefault.jpg. Man kan passera olika värden som 0.jpg, 1.jpgför att få olika miniatyrstorlek.

Så vår sista kod för att hämta miniatyrbild från YouTube-webbadress är:

<?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' />";
?>

Få miniatyrbild från Vimeo och Dailymotion Videos

När jag letade efter lösning för att extrahera video-id från Vimeo och Dailymotion-webbadresser hittade jag den här resursen. Jag använde deras metod för att extrahera video-id från video-URL: er från Vimeo och Dailymotion. Denna metod stöder alla giltiga URL-format för Vimeo och Dailymotion-videor.

Om du hämtar miniatyr av Vimeo-videor kommer koden att vara följande:

<?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' />";
?>

För Vimeo-video kan vi använda tre värden som thumbnail_small, thumbnail_medium, thumbnail_large för att få små, medelstora och stora storlekar av miniatyrbild.

Slutligen är koden för att få miniatyren av Dailymotion-videon följande.

<?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' />";
?>

Jag hoppas att du förstår hur du får miniatyren av YouTube, Vimeo och Dailymotion Videos. Om du använder någon annan metod för att uppnå detta, vänligen meddela mig i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer