YouTube API'den bir YouTube videosunun küçük resmini nasıl alabilirim?

Elimde bir YouTube video URL'si varsa, YouTube API'sinden ilişkili küçük resmi almak için PHP ve cURL kullanmanın bir yolu var mı?

Çözüm

Her YouTube videosunun dört adet oluşturulmuş görüntüsü vardır. Bunlar tahmin edilebileceği gibi aşağıdaki gibi biçimlendirilmiştir:

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

Listedeki ilk resim tam boyutlu bir resimdir ve diğerleri küçük resimlerdir. Varsayılan küçük resim görüntüsü (yani, 1.jpg, 2.jpg, 3.jpg'den biri):

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

Küçük resmin yüksek kaliteli sürümü için buna benzer bir URL kullanın:

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

Ayrıca, küçük resmin HQ'ya benzer bir URL kullanan orta kaliteli bir sürümü de vardır:

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

Küçük resmin standart tanımlı sürümü için buna benzer bir URL kullanın:

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

Küçük resmin maksimum çözünürlüklü sürümü için buna benzer bir URL kullanın:

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

Yukarıdaki URL'lerin tümü HTTP üzerinden de kullanılabilir. Ayrıca, biraz daha kısa olan i3.ytimg.com ana bilgisayar adı, yukarıdaki örnek URL'lerde img.youtube.com yerine çalışır.

Alternatif olarak, küçük resim görüntülerini almak için YouTube Veri API'si (v3) kullanabilirsiniz.

Yorumlar (27)

Video küçük resimlerini, başlığını, açıklamasını, derecelendirmesini, istatistiklerini ve daha fazlasını almak için YouTube Data API kullanabilirsiniz. API sürüm 3 bir anahtar gerektirir*. Anahtarı alın ve bir videos: list isteği oluşturun:

https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=VIDEO_ID

Örnek PHP Kodu

$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);

Çıktı

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)
  }
}
  • Sadece bir anahtara ihtiyacınız olmakla kalmaz, yapmayı planladığınız API isteklerinin sayısına bağlı olarak fatura bilgileriniz de istenebilir. Ancak, günde birkaç milyon istek ücretsizdir.

Kaynak makale.

Yorumlar (6)

Videonun küçük resminin URL'sini içeren Video Girişi'ni alabilirsiniz. Bağlantıda örnek kod var. Veya XML'i ayrıştırmak istiyorsanız, burada bilgi var. Döndürülen XML, küçük resmin URL'sini içeren bir `media:thumbnail' öğesine sahiptir.

Yorumlar (1)