Jei turiu "YouTube" vaizdo įrašo URL, ar yra koks nors būdas naudojant PHP ir cURL gauti susijusią miniatiūrą iš "YouTube" API?
Kiekviename "YouTube" vaizdo įraše yra keturi sugeneruoti vaizdai. Jie, kaip galima nuspėti, suformatuoti taip:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
Pirmasis sąraše yra viso dydžio vaizdas, o kiti - miniatiūros. Numatytoji miniatiūra (t. y. vienas iš 1.jpg
, 2.jpg
, 3.jpg
) yra:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
Norėdami gauti aukštos kokybės miniatiūros versiją, naudokite panašų URL adresą:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
Taip pat yra vidutinės kokybės miniatiūros versija, kurios URL adresas yra panašus į HQ:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
Norėdami gauti standartinės raiškos miniatiūros versiją, naudokite panašų URL adresą:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
Jei norite gauti didžiausios raiškos miniatiūros versiją, naudokite panašų URL adresą:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
Visus pirmiau nurodytus URL galima naudoti ir per HTTP. Be to, vietoj img.youtube.com
pirmiau pateiktuose pavyzdiniuose URL adresuose galima naudoti šiek tiek trumpesnį prieglobos vardą i3.ytimg.com
.
Taip pat galite naudoti YouTube Data API (v3), kad gautumėte miniatiūrų paveikslėlius.
Galite naudoti YouTube Data API, kad gautumėte vaizdo įrašų miniatiūras, antraštes, aprašymą, reitingą, statistiką ir dar daugiau. API 3 versijai reikalingas raktas*. Gaukite raktą ir sukurkite videos: list užklausą:
https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=VIDEO_ID
Pavyzdinis PHP kodas
$data = file_get_contents("https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=T0Jqdjbed40");
$json = json_decode($data);
var_dump($json->items[0]->snippet->thumbnails);
Išvestis
object(stdClass)#5 (5) {
["default"]=>
object(stdClass)#6 (3) {
["url"]=>
string(46) "https://i.ytimg.com/vi/T0Jqdjbed40/default.jpg"
["width"]=>
int(120)
["height"]=>
int(90)
}
["medium"]=>
object(stdClass)#7 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/mqdefault.jpg"
["width"]=>
int(320)
["height"]=>
int(180)
}
["high"]=>
object(stdClass)#8 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/hqdefault.jpg"
["width"]=>
int(480)
["height"]=>
int(360)
}
["standard"]=>
object(stdClass)#9 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/sddefault.jpg"
["width"]=>
int(640)
["height"]=>
int(480)
}
["maxres"]=>
object(stdClass)#10 (3) {
["url"]=>
string(52) "https://i.ytimg.com/vi/T0Jqdjbed40/maxresdefault.jpg"
["width"]=>
int(1280)
["height"]=>
int(720)
}
}
* Reikia ne tik rakto, bet ir atsiskaitymo informacijos, priklausomai nuo to, kiek API užklausų planuojate atlikti. Tačiau keli milijonai užklausų per dieną yra nemokami.
Galite gauti Vaizdo įrašas, kuriame pateikiamas vaizdo įrašo miniatiūros URL adresas. Nuorodoje pateikiamas kodo pavyzdys. Arba, jei norite analizuoti XML, yra informacijos čia. Grąžintame XML yra elementas media:thumbnail
, kuriame pateikiamas miniatiūros'URL.