✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як отримати ескіз із відео YouTube, Vimeo та Dailymotion

37

Ви хочете отримати ескіз відео YouTube, Vimeo та Dailymotion? Це 3 найпопулярніші веб-сайти для обміну відео в Інтернеті. Кожна з цих платформ дозволяє користувачам отримувати ескіз відео своїх відео. У цій статті ми бачимо, як отримати ескіз, використовуючи URL-адресу відео цих платформ.

Коли ви інтегруєте відеогалерею на веб-сайтах, ви повинні відображати мініатюри відео. А потім після натискання мініатюри повинно відтворитись пов’язане відео. Вбудовувати відео за допомогою тегу iframe не рекомендується. Це займає велику пропускну здатність сервера і збільшує розмір сторінки.

Я збираюся написати код, який отримує ескіз відео через URL-адресу відео. Натискаючи ці мініатюри, ви можете відтворювати свої відео, використовуючи fancybox або будь-які інші власні рішення, які вам більше подобаються.

Сказавши це, давайте подивимося по черзі, як отримати ескізи відео YouTube, Vimeo та Dailymotion.

Отримати ескіз із URL-адреси відео YouTube

Для нашого підручника я припускаю, що ви передаєте URL-адресу відео, щоб отримати ескіз відео. У випадку з YouTube існує кілька типів дійсних URL-адрес. Нижче наведені дійсні URL-адреси відео YouTube:

Нижче наведений метод витягує ідентифікатор відео з будь-якого з вищезазначених форматів URL.

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

Витягнувши ідентифікатор відео з URL-адреси, ви можете легко отримати ескіз відео, використовуючи наведений нижче спосіб:

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

Тут ми отримуємо ескіз за замовчуванням за допомогою hqdefault.jpg. Можна передавати різні значення, наприклад 0.jpg, 1.jpgщоб отримати різний розмір мініатюр.

Отже, наш остаточний код для отримання ескізу з URL-адреси відео YouTube:

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

Отримайте ескіз від відео Vimeo та Dailymotion

Шукаючи рішення щодо вилучення ідентифікатора відео з URL-адрес відео Vimeo та Dailymotion, я знайшов цей ресурс. Я використав їх метод для вилучення ідентифікатора відео з URL-адрес відео Vimeo та Dailymotion. Цей метод підтримує всі допустимі формати URL-адрес відео Vimeo та Dailymotion.

У разі отримання ескізу відео Vimeo код буде таким:

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

Для відео Vimeo ми можемо використовувати 3 значення, такі як thumbnail_small, thumbnail_medium, thumbnail_large, щоб отримати малі, середні та великі розміри мініатюр відповідно.

Нарешті, код для отримання ескізу відео Dailymotion такий.

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

Сподіваюся, ви розумієте, як отримати ескіз відео YouTube, Vimeo та Dailymotion Videos. Якщо ви використовуєте будь-який інший метод для досягнення цього, повідомте мене про це в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі