Wie erhalte ich eine YouTube-Video-Miniaturansicht von der YouTube-API?

Wenn ich eine YouTube-Video-URL habe, gibt es eine Möglichkeit, PHP und cURL zu verwenden, um das zugehörige Miniaturbild von der YouTube-API zu erhalten?

Lösung

Jedes YouTube-Video hat vier generierte Bilder. Sie sind vorhersehbar wie folgt formatiert:

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

Das erste in der Liste ist ein Bild in voller Größe, die anderen sind Miniaturbilder. Das Standard-Thumbnail-Bild (d.h. eines von 1.jpg, 2.jpg, 3.jpg) ist:

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

Für die hochqualitative Version des Thumbnails verwenden Sie eine URL ähnlich der folgenden:

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

Es gibt auch eine Version der Miniaturansicht in mittlerer Qualität, die eine URL ähnlich der HQ verwendet:

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

Für die Version der Miniaturansicht in Standardauflösung verwenden Sie eine ähnliche URL wie die folgende:

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

Für die Version der Miniaturansicht in maximaler Auflösung verwenden Sie eine URL ähnlich der folgenden:

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

Alle oben genannten URLs sind auch über HTTP verfügbar. Außerdem funktioniert der etwas kürzere Hostname "i3.ytimg.com" anstelle von "youtube.com" in den obigen Beispiel-URLs.

Alternativ können Sie auch die YouTube Data API (v3) verwenden, um Miniaturbilder zu erhalten.

Kommentare (27)

Sie können die YouTube-Daten-API verwenden, um Video-Thumbnails, Untertitel, Beschreibung, Bewertung, Statistiken und mehr abzurufen. Für API Version 3 ist ein Schlüssel* erforderlich. Besorgen Sie sich den Schlüssel und erstellen Sie eine Videos: Liste Anfrage:

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

Beispiel PHP-Code

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

Ausgabe

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)
  }
}
  • Sie benötigen nicht nur einen Schlüssel, sondern werden je nach der Anzahl der geplanten API-Anfragen möglicherweise auch nach Rechnungsdaten gefragt. Einige Millionen Anfragen pro Tag sind jedoch kostenlos.

Quellartikel.

Kommentare (6)

Sie können den Videoeintrag erhalten, der die URL zur Miniaturansicht des Videos enthält. In dem Link ist ein Beispielcode enthalten. Wenn Sie XML parsen möchten, finden Sie Informationen hier. Die zurückgegebene XML-Datei enthält ein Element "media:thumbnail", das die URL der Miniaturansicht enthält.

Kommentare (1)