Kaip gauti "YouTube" vaizdo įrašo miniatiūrą iš "YouTube" API?

Jei turiu "YouTube" vaizdo įrašo URL, ar yra koks nors būdas naudojant PHP ir cURL gauti susijusią miniatiūrą iš "YouTube" API?

Sprendimas

Kiekviename "YouTube" vaizdo įraše yra keturi sugeneruoti vaizdai. Jie, kaip galima nuspėti, suformatuoti taip:

https://img.youtube.com/vi//0.jpg
https://img.youtube.com/vi//1.jpg
https://img.youtube.com/vi//2.jpg
https://img.youtube.com/vi//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//default.jpg

Norėdami gauti aukštos kokybės miniatiūros versiją, naudokite panašų URL adresą:

https://img.youtube.com/vi//hqdefault.jpg

Taip pat yra vidutinės kokybės miniatiūros versija, kurios URL adresas yra panašus į HQ:

https://img.youtube.com/vi//mqdefault.jpg

Norėdami gauti standartinės raiškos miniatiūros versiją, naudokite panašų URL adresą:

https://img.youtube.com/vi//sddefault.jpg

Jei norite gauti didžiausios raiškos miniatiūros versiją, naudokite panašų URL adresą:

https://img.youtube.com/vi//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.

Komentarai (27)

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.

Šaltinis.

Komentarai (6)

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.

Komentarai (1)