✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak uzyskać miniaturę z filmów z YouTube, Vimeo i Dailymotion?

21

Czy chcesz uzyskać miniaturę filmów z YouTube, Vimeo i Dailymotion? Te 3 to najpopularniejsze witryny do udostępniania wideo w Internecie. Każda z tych platform pozwala użytkownikom pobrać miniaturę wideo swoich filmów. W tym artykule zobaczymy, jak uzyskać miniaturę za pomocą adresu URL wideo tych platform.

Kiedy integrujesz galerię wideo na stronach internetowych, powinieneś wyświetlać miniatury wideo. A następnie po kliknięciu miniatury powinien zostać odtworzony powiązany film. Osadzanie filmów za pomocą tagu iframe nie jest zalecane. Zajmuje dużą przepustowość serwera i zwiększa rozmiar strony.

Zamierzam napisać kod, który pobiera miniaturę wideo za pośrednictwem adresu URL wideo. Po kliknięciu tych miniatur możesz odtwarzać swoje filmy za pomocą fancybox lub innych niestandardowych rozwiązań, które preferujesz.

Powiedziawszy to, zobaczmy jeden po drugim, jak uzyskać miniatury filmów z YouTube, Vimeo i Dailymotion.

Pobierz miniaturę z adresu URL filmu YouTube

W naszym samouczku zakładam, że przekazujesz adres URL filmu, aby uzyskać miniaturę filmu. W przypadku YouTube dostępnych jest kilka typów prawidłowych adresów URL. Poniżej znajdują się prawidłowe adresy URL filmów w YouTube:

Poniższa metoda wyodrębnia identyfikator wideo z dowolnego z powyższych formatów adresów URL.

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

Po wyodrębnieniu identyfikatora wideo z adresu URL możesz łatwo uzyskać miniaturę wideo za pomocą poniższej metody:

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

Tutaj pobieramy domyślną miniaturę za pomocą hqdefault.jpg. Można podać różne wartości, takie jak 0.jpg, 1.jpgaby uzyskać inny rozmiar miniatury.

Tak więc nasz ostateczny kod do pobrania miniatury z adresu URL wideo YouTube to:

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

Uzyskaj miniaturę z filmów Vimeo i Dailymotion

Szukając rozwiązania dotyczącego wyodrębniania identyfikatora wideo z adresów URL wideo Vimeo i Dailymotion, znalazłem ten zasób. Użyłem ich metody, aby wyodrębnić identyfikator wideo z adresów URL wideo Vimeo i Dailymotion. Ta metoda obsługuje wszystkie prawidłowe formaty adresów URL filmów Vimeo i Dailymotion.

W przypadku pobrania miniatury filmów Vimeo kod będzie wyglądał następująco:

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

W przypadku wideo Vimeo możemy użyć 3 wartości, takich jak thumbnail_small, thumbnail_medium, thumbnail_large, aby uzyskać odpowiednio mały, średni i duży rozmiar miniatury.

Wreszcie kod, aby uzyskać miniaturę wideo Dailymotion, jest następujący.

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

Mam nadzieję, że rozumiesz, jak uzyskać miniaturę filmów z YouTube, Vimeo i Dailymotion. Jeśli używasz innej metody, aby to osiągnąć, daj mi znać w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów