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 abzurufen?
2398
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 abzurufen?
Antworten:
Jedes YouTube-Video enthält vier generierte Bilder. Sie sind vorhersehbar wie folgt formatiert:
Das erste Bild in der Liste ist ein Bild in voller Größe, andere sind Miniaturbilder. Die Standarddarstellung des Bildes ( das heißt, einer von
1.jpg
,2.jpg
,3.jpg
) ist:Verwenden Sie für die hochwertige Version der Miniaturansicht eine ähnliche URL:
Es gibt auch eine Version der Miniaturansicht mittlerer Qualität, die eine URL ähnlich dem HQ verwendet:
Verwenden Sie für die Standarddefinitionsversion der Miniaturansicht eine ähnliche URL:
Verwenden Sie für die Version des Miniaturbilds mit maximaler Auflösung eine ähnliche URL:
Alle oben genannten URLs sind auch über HTTP verfügbar. Zusätzlich
i3.ytimg.com
funktioniert der etwas kürzere Hostname anstelle derimg.youtube.com
obigen Beispiel-URLs.Alternativ können Sie die YouTube-Daten-API (Version 3) verwenden , um Miniaturbilder abzurufen.
quelle
http://www.img.youtube.com
, nurhttp://img.youtube.com
mqdefault
ist 16: 9sddefault
und sindmaxresdefault
nicht immer verfügbar Einige Videos haben sie aber ....Mithilfe der YouTube-Daten-API können Sie Miniaturansichten, Beschriftungen, Beschreibungen, Bewertungen, Statistiken und mehr von Videos abrufen. Für API-Version 3 ist ein Schlüssel * erforderlich. Besorgen Sie sich den Schlüssel und erstellen Sie ein Video: Listenanforderung:
Beispiel PHP Code
Ausgabe
* Sie benötigen nicht nur einen Schlüssel, sondern werden möglicherweise auch nach Rechnungsinformationen gefragt, abhängig von der Anzahl der API-Anforderungen, die Sie planen. Es sind jedoch nur wenige Millionen Anfragen pro Tag kostenlos.
Quellartikel .
quelle
jsonc
anstelle vonjson
getJSON verwendet. Es schlägt aufgrund Ihrer falschen JSON-Struktur fehl.jsonc
. Die Beispiele jQuery und PHP MÜSSEN verwendet werdenjson
. Und ich habe den Code aktualisiert, um ihn an die neue JSON-Struktur anzupassen. Ich benutze den Code gerade und er funktioniert LIVE. Sagen Sie also nicht, dass es nicht funktioniert, ohne die Änderungen zu lesen. Vielen Dank!v=2
) werden auch API-Änderungen berücksichtigt.Was Asaph gesagt hat, ist richtig. Allerdings enthält nicht jedes YouTube-Video alle neun Miniaturansichten. Die Bildgröße der Miniaturansichten hängt auch vom Video ab (die folgenden Zahlen basieren auf einem).
Es gibt garantiert sieben Miniaturansichten:
Darüber hinaus können die beiden anderen Miniaturansichten vorhanden sein oder nicht. Ihre Anwesenheit hängt wahrscheinlich davon ab, ob das Video von hoher Qualität ist.
JavaScript- und PHP-Skripte zum Abrufen von Miniaturansichten und anderen YouTube-Informationen finden Sie unter:
Sie können auch das YouTube Video Information Generator- Tool verwenden, um alle Informationen zu einem YouTube-Video abzurufen, indem Sie eine URL oder eine Video-ID eingeben.
quelle
In YouTube API V3 können wir diese URLs auch zum Abrufen von Miniaturansichten verwenden. Sie werden anhand ihrer Qualität klassifiziert.
Und für die maximale Auflösung ..
Ein Vorteil dieser URLs gegenüber den URLs in der ersten Antwort besteht darin, dass diese URLs nicht von Firewalls blockiert werden.
quelle
Wenn Sie das größte Bild von YouTube für eine bestimmte Video-ID möchten, sollte die URL ungefähr so lauten:
Mithilfe der API können Sie Standard-Miniaturbilder abrufen. Einfacher Code sollte ungefähr so aussehen:
quelle
Wenn Sie die "schwarzen Balken" entfernen und es wie YouTube tun möchten, können Sie Folgendes verwenden:
Und wenn Sie die
.webp
Dateierweiterung nicht verwenden können, können Sie dies folgendermaßen tun:Wenn Sie die nicht skalierte Version benötigen, verwenden Sie
maxresdefault
stattdessen anstelle vonmqdefault
.Hinweis: Ich bin mir über das Seitenverhältnis nicht sicher, ob Sie es verwenden möchten
maxresdefault
.quelle
_webp
die Erweiterung entfernen und in ändern.jpg
. Arbeitsbeispiel: i.ytimg.com/vi/mJ8tq8AnNis/mqdefault.jpg , ich bin mir über das Seitenverhältnis nicht sicher.Ich habe eine Funktion erstellt, um nur vorhandene Bilder von YouTube abzurufen
quelle
In YouTube Data API v3 können Sie die Miniaturansichten von Videos mit der Funktion videos-> list abrufen . Aus snippet.thumbnails. (Schlüssel) können Sie das Standard-Miniaturbild mit mittlerer oder hoher Auflösung auswählen und dessen Breite, Höhe und URL abrufen.
Sie können Thumbnails auch mit den Thumbnails-> set aktualisieren Funktion .
Beispiele finden Sie im YouTube API Samples- Projekt. ( PHP .)
quelle
Sie können die bekommen Video Eintrag , der die URL des Videos Thumbnail enthält. Der Link enthält einen Beispielcode. Wenn Sie XML analysieren möchten, finden Sie hier Informationen . Das zurückgegebene XML enthält ein
media:thumbnail
Element, das die URL der Miniaturansicht enthält.quelle
quelle
YouTube gehört Google und Google möchte eine angemessene Anzahl von Bildern für unterschiedliche Bildschirmgrößen haben. Daher werden die Bilder in unterschiedlichen Größen gespeichert. Hier ist ein Beispiel dafür, wie Ihr Miniaturbild aussehen wird:
Miniaturbild von geringer Qualität:
Miniaturbild mittlerer Qualität:
Hochwertige Miniaturansicht:
Miniaturbild von maximaler Qualität:
quelle
YouTube API Version 3 läuft in 2 Minuten
Wenn Sie nur YouTube durchsuchen und die zugehörigen Eigenschaften abrufen möchten:
Holen Sie sich eine öffentliche API - Dieser Link gibt eine gute Richtung
Verwenden Sie die folgende Abfragezeichenfolge. Die Suchabfrage (bezeichnet mit q = ) in der URL-Zeichenfolge ist beispielsweise ein Stapelüberlauf . YouTube sendet dir dann eine JSON-Antwort zurück, in der du nach Miniaturansichten, Snippets, Autoren usw. suchen kannst.
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&q=stackoverflow&key=YOUR_API_KEY_HERE
quelle
Eine weitere gute Alternative wäre die Verwendung des oEmbed von YouTube unterstützten API.
Sie fügen einfach Ihre YouTube-URL zur oEmbed-URL hinzu und erhalten einen JSON mit einer Miniaturansicht und dem HTML-Code zum Einbetten.
Beispiel:
Würde dir geben:
Weitere Informationen finden Sie in der Dokumentation .
quelle
Verwenden:
Oben ist der Link. Auf diese Weise können Sie die YouTube-Eigenschaften von Videos ermitteln. Nachdem Sie Merkmale gefunden haben, können Sie Videos der ausgewählten Kategorie abrufen. Danach können Sie ausgewählte Videobilder mit Asaphs Antwort finden .
Wenn Sie den obigen Ansatz ausprobieren, können Sie alles über die YouTube- API analysieren .
quelle
Ich habe YouTube-Miniaturansichten folgendermaßen verwendet:
Denken Sie daran, YouTube verhindert, dass Bilder direkt von ihrem Server aufgenommen werden.
quelle
Ich habe dieses raffinierte Tool gefunden, mit dem Sie das Bild mit der YouTube-Wiedergabetaste über dem Bild erstellen können:
quelle
Um die angegebenen Lösungen hinzuzufügen / zu erweitern, muss ich beachten, dass man, da ich dieses Problem selbst hatte, tatsächlich mehrere YouTube-Videoinhalte, in diesem Fall Miniaturansichten, mit einer HTTP-Anfrage abrufen kann:
Mit einem Rest-Client, in diesem Fall HTTPFUL, können Sie Folgendes tun:
quelle
YouTube-Daten-API
YouTube stellt uns die vier generierten Bilder für jedes Video beispielsweise über die Daten-API (v3) zur Verfügung.
https://i.ytimg.com/vi/V_zwalcR8DU/maxresdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/sddefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/hqdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/mqdefault.jpg
Zugriff auf die Bilder über die API erhalten
Aus diesem Grund müssen Sie Ihre URL folgendermaßen formulieren:
Ändern Sie nun Ihre Video-ID und Ihren API-Schlüssel in Ihre jeweilige Video-ID und Ihren API-Schlüssel. Die Antwort ist eine JSON-Ausgabe, die Ihnen die vier Links in den Miniaturansichten der Snippet-Variablen enthält (sofern alle verfügbar sind).
quelle
Sie können die Video-ID mithilfe von parse_url , parse_str von der YouTube-Video-URL abrufen und dann in die Vorhersage-URLs für Bilder einfügen. Vielen Dank an YouTube für die prädiktiven URLs
Mit diesem Tool können Sie YouTube-Miniaturansichten erstellen
https://tools.tutsplanet.com/index.php/get-youtube-video-thumbnails
quelle
Eine einfache PHP-Funktion, die ich für das YouTube-Miniaturbild erstellt habe, und die Typen sind
quelle
Wenn Sie die öffentliche API verwenden, verwenden Sie am besten
if
Anweisungen.Wenn das Video öffentlich oder nicht aufgeführt ist, legen Sie die Miniaturansicht mithilfe der URL-Methode fest. Wenn das Video privat ist, verwenden Sie die API, um die Miniaturansicht abzurufen.
quelle
Ich denke, es gibt viele Antworten auf Miniaturansichten, aber ich möchte einige andere URLs hinzufügen, um YouTube-Miniaturansichten sehr einfach zu erhalten. Ich nehme nur einen Text aus Asaphs Antwort. Hier sind einige URLs, um YouTube-Miniaturansichten zu erhalten:
Verwenden Sie für die hochwertige Version der Miniaturansicht eine ähnliche URL:
Es gibt auch eine Version des Miniaturbilds mittlerer Qualität, die eine URL verwendet, die der hohen Qualität ähnelt:
Verwenden Sie für die Standarddefinitionsversion der Miniaturansicht eine ähnliche URL:
Verwenden Sie für die Version des Miniaturbilds mit maximaler Auflösung eine ähnliche URL:
quelle
quelle
Hier ist die beste Antwort, die für den manuellen Gebrauch optimiert wurde. Das Video-ID-Token ohne Trennzeichen ermöglicht die Auswahl mit einem Doppelklick.
Jedes YouTube-Video enthält vier generierte Bilder. Sie sind vorhersehbar wie folgt formatiert:
Das erste Bild in der Liste ist ein Bild in voller Größe, andere sind Miniaturbilder. (. Also eines der Standard - Miniaturbild
1.jpg
,2.jpg
,3.jpg
) ist:Verwenden Sie für die hochwertige Version der Miniaturansicht eine ähnliche URL:
Es gibt auch eine Version der Miniaturansicht mittlerer Qualität, die eine URL ähnlich dem HQ verwendet:
Verwenden Sie für die Standarddefinitionsversion der Miniaturansicht eine ähnliche URL:
Verwenden Sie für die Version des Miniaturbilds mit maximaler Auflösung eine ähnliche URL:
Alle oben genannten URLs sind auch über HTTP verfügbar. Zusätzlich
i3.ytimg.com
funktioniert der etwas kürzere Hostname anstelle derimg.youtube.com
obigen Beispiel-URLs.Alternativ können Sie die YouTube-Daten-API (Version 3) verwenden , um Miniaturbilder abzurufen.
quelle
Methode 1:
Sie finden alle Informationen für ein YouTube-Video mit einer JSON-Seite, die sogar "thumbnail_url" enthält. Http://www.youtube.com/oembed?format=json&url= {Ihre Video-URL finden Sie hier}
Wie endgültige URL aussehen + PHP-Testcode
Ausgabe
Weitere Informationen finden Sie auch unter So erhalten Sie eine Miniaturansicht eines YouTube-Videos mithilfe der ID oder des https://www.youtube.com/watch?v=mXde7q59BI8 Video-Tutorials 1
Methode 2:
Über den YouTube-Bildlink https://img.youtube.com/vi/ "insert-youtube-video-id-here" /default.jpg
Methode 3:
Verwenden des Browser-Quellcodes zum Abrufen von Miniaturansichten mithilfe des Video-URL-Links - Gehen Sie zum Video-Quellcode und suchen Sie nach Miniaturansichten. Jetzt können Sie diese URL in Ihren Quellcode verwenden:
Weitere Informationen finden Sie auch unter So erhalten Sie eine Miniaturansicht eines YouTube-Videos mithilfe der ID oder des https://www.youtube.com/watch?v=9f6E8MeM6PI Video-Tutorials 2
quelle
https://www.youtube.com/watch?v=mXde7q59BI8
undhttps://www.youtube.com/watch?v=9f6E8MeM6PI
sind (effektiv) kaputt.Verwenden
img.youtube.com/vi/YouTubeID/ImageFormat.jpg
Hier unterscheiden sich die Bildformate wie Standard, hqdefault, maxresdefault.
quelle
Dies ist meine clientseitige Lösung, für die kein API-Schlüssel erforderlich ist.
Der Code:
Dienstprogramm
image.js
:Dienstprogramm
url.js
:quelle
Hier ist eine einfache Funktion, die ich zum Abrufen der Miniaturansichten erstellt habe. Es ist leicht zu verstehen und zu verwenden.
$ link ist der YouTube-Link, der genau so kopiert wird, wie er im Browser ist, z. B. https://www.youtube.com/watch?v=BQ0mxQXmLsk
quelle
&t=227s
?Speichern Sie diesen Code in einer leeren .php-Datei und testen Sie ihn.
Vielen Dank.
quelle
quelle