Kuinka saada pikkukuva YouTubesta, Vimeo- ja Dailymotion-videoista
Haluatko saada pikkukuvan YouTube-, Vimeo- ja Dailymotion-videoista? Nämä 3 ovat suosituimpia videoiden jakamissivustoja Internetissä. Jokaisella näistä alustoista käyttäjät voivat hakea videoidensa pikkukuvan. Tässä artikkelissa näemme, miten pikkukuva saadaan näiden alustojen video-URL-osoitteen avulla.
Kun integroit videogallerian verkkosivustoihin, sinun pitäisi näyttää videon pikkukuvat. Ja sitten napsauttamalla pikkukuvaa, siihen liittyvän videon pitäisi toistaa. Videoiden upottamista iframe-tunnisteella ei suositella. Se vie paljon palvelimen kaistanleveyttä ja lisää sivun kokoa.
Aion kirjoittaa koodin, joka saa videon pikkukuvan videon URL-osoitteen kautta. Napsauttamalla näitä pikkukuvia voit toistaa videoita käyttämällä fancyboxia tai muita haluamiasi mukautettuja ratkaisuja.
Tämän jälkeen katsotaan yksi kerrallaan, kuinka saada pikkukuvia YouTubesta, Vimeosta ja Dailymotionista.
Hae pikkukuva YouTube-videon URL-osoitteesta
Oletamme, että lähetät videon URL-osoitteen saadaksesi videon pikkukuvan. YouTubessa on käytettävissä useita erilaisia kelvollisia URL-osoitteita. Alla on kelvolliset YouTube-videon URL-osoitteet:
- https://youtu.be/VIDEO_ID
- https://www.youtube.com/embed/VIDEO_ID
- https://www.youtube.com/watch?v=VIDEO_ID
Alla oleva menetelmä poimii videotunnuksen mistä tahansa yllä olevasta URL-muodosta.
<?php
function extractVideoID($url){
$regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
preg_match($regExp, $url, $video);
return $video[7];
}
?>
Kun olet purkanut videotunnuksen URL-osoitteesta, voit helposti saada videon pikkukuvan alla olevan menetelmän avulla:
<?php
function getYouTubeThumbnailImage($video_id) {
return "//i3.ytimg.com/vi/$video_id/hqdefault.jpg";
}
?>
Täältä haemme oletuskuvan hqdefault.jpg
. Voidaan välittää erilaisia arvoja, kuten 0.jpg
, 1.jpg
saadaksesi erilaisen pikkukuvan.
Joten lopullinen koodimme pikkukuvan saamiseksi YouTube-videon URL-osoitteesta on:
<?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' />";
?>
Hanki pikkukuva Vimeo- ja Dailymotion-videoista
Kun etsin ratkaisua videotunnuksen purkamiseen Vimeo- ja Dailymotion-video-URL-osoitteista, löysin tämän resurssin. Käytin heidän menetelmäänsä poimimaan videotunnuksen Vimeon ja Dailymotionin video-URL-osoitteista. Tämä menetelmä tukee kaikkia kelvollisia Vimeo- ja Dailymotion-videoiden URL-muotoja.
Jos haetaan Vimeo-videoiden pikkukuvia, koodi on seuraava:
<?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-videolle voimme käyttää 3 arvoa, kuten thumbnail_small, thumbnail_medium, thumbnail_large saadaksesi pienet, keskikokoiset ja suuret pikkukuvat.
Lopuksi, koodi saada Dailymotion-videon pikkukuva on seuraava.
<?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' />";
?>
Toivon, että ymmärrät, miten saat pikkukuvan YouTube-, Vimeo- ja Dailymotion-videoista. Jos käytät jotain muuta menetelmää tämän saavuttamiseksi, ilmoita siitä minulle alla olevassa kommenttiosassa.