Ben bir YouTube video URL varsa, YouTube API ilişkili üzerlerine almak için PHP ve cURL kullanmak için herhangi bir yolu var mı?
Her YouTube Video 4 oluşturulan görüntüleri vardır. Bunlar aşağıdaki gibi tahmin biçimlendirilir:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
Listedeki ilk tam boy görüntü ve diğerleri küçük resimlerdir. Varsayılan küçük resim olduğunu (1.jpg
, 2.jpg
, 3.jpg
Otopsi biri):
http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
Thumbnail kaliteli sürümü için buna benzer bir url kullanın:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
HQ benzer bir url kullanarak minik bir orta kalite versiyonu da vardır:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
Thumbnail standart tanımlı sürümü için, bu benzer bir url kullanın:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
Küçük resmin maksimum çözünürlük sürümü için buna benzer bir url kullanın:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
Yukarıdaki adresler Tüm çok https üzerinde mevcuttur. Sadece http
yukarıdaki adresler herhangi https
olarak değiştirin. Buna ek olarak, biraz daha kısa bilgisayar adı i3.ytimg.com
örnekte img.youtube.com
yerine işler üzerinde URL'ler.
Alternatif olarak, YouTube Data API (v3) kullanabilir veya eski YouTube API v2.0 küçük resim olsun.
URL hile belgelenmemiş ve bu nedenle güvenilmez. Sen YouTube Data API video küçük, başlık, açıklama, değerlendirme, istatistik ve daha fazla almak için kullanabilirsiniz. API denemek 30 saniye veya daha az sürer:
Öğrenmek için tarayıcınızda bu URL'leri açın:
gzDS-Kfd5XQ
video Kimliği.<script type="text/javascript">
function youtubeFeedCallback(json){
document.write('<img src="' + json.data.thumbnail.sqDefault + '">');
}
</script>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=jsonc&callback=youtubeFeedCallback"></script>
$.getJSON("http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=jsonc&callback=?", function(json){
$("<img/>").attr("src", json.data.thumbnail.sqDefault).appendTo("body");
});
<?php
$json = json_decode(file_get_contents("http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=jsonc"));
echo '<img src="' . $json->data->thumbnail->sqDefault . '">';
Daha fazla bilgi Retrieve Title, Description and Thumbnail of a YouTube Video Using AJAX em> vardır.
Belirli bir video kimliği için YouTube büyük resim isterseniz, o zaman URL böyle bir şey olmalı:
http://i3.ytimg.com/vi/SomeVideoIDHere/0.jpg
API kullanarak, varsayılan küçük bir resim alabilirsiniz. Basit kod böyle bir şey olmalı:
//Grab the default thumbnail image
$attrs = $media->group->thumbnail[1]->attributes();
$thumbnail = $attrs['url'];
$thumbnail = substr($thumbnail, 0, -5);
$thumb1 = $thumbnail."default.jpg";
// Grab the third thumbnail image
$thumb2 = $thumbnail."2.jpg";
// Grab the fourth thumbnail image.
$thumb3 = $thumbnail."3.jpg";
// Using simple cURL to save it your server.
// You can extend the cURL below if you want it as fancy, just like
// the rest of the folks here.
$ch = curl_init ("$thumb1");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata = curl_exec($ch);
curl_close($ch);
// Using fwrite to save the above
$fp = fopen("SomeLocationInReferenceToYourScript/AnyNameYouWant.jpg", 'w');
// Write the file
fwrite($fp, $rawdata);
// And then close it.
fclose($fp);
What Asaph said is right. However, every YouTube video does not contain all nine thumbnails. But there are seven thumbnails for every video. They are:
(Görüntü boyutu videoda bağlıdır.)
Player Background Thumbnail (480x360 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/0.jpg
Start Thumbnail (120x90 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/1.jpg
Middle Thumbnail (120x90 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/2.jpg
End Thumbnail (120x90 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/3.jpg
High Quality Thumbnail (480x360 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/hqdefault.jpg
Medium Quality Thumbnail (320x180 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/mqdefault.jpg
Normal Quality Thumbnail (120x90 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/default.jpg
And additionally, the next two thumbnails may or may not exist. For HQ videos they exist.
Standard Definition Thumbnail (640x480 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/sddefault.jpg
Maximum Resolution Thumbnail (1920x1080 pixels)
http://i1.ytimg.com/vi/HIrMIeN5ttE/maxresdefault.jpg
You can get the JavaScript and PHP scripts to retrieve thumbnails and other YouTube information in
Also use the tool YouTube Video Information Generator to get all the information of a YouTube video by submitting a URL or video ID.
YouTube API V3 biz de minik elde etmek için bu URL'leri kullanabilirsiniz ... Onlar kendi kalitesine göre sınıflandırılır.
https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/default.jpg - default
https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg - medium
https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg - high
https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/sddefault.jpg - standard
Ve maksimum çözünürlük için ..
https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
Ilk cevap URL'ler üzerinden bu URL'lerin bir avantajı, bu URL'leri güvenlik duvarı tarafından engelleniyor alamadım olmasıdır.
Sen videonun küçük resminin URL'sini içeren Video Entry hangi alabilirsiniz. Örnek kod link var. XML ayrıştırmak istiyorsanız Veya, bilgi var here. Döndürülen XML Küçük resim URL'sini içeren bir media:thumbnail
elemanı vardır.
YouTube Data API v3 olarak, videos->list fonksiyonu ile video minik alabilirsiniz. Dan snippet.thumbnails.(key), varsayılan, orta ya da yüksek çözünürlüklü üzerlerine almak, ve genişliği, yüksekliği ve URL'sini alabilirsiniz.
Ayrıca thumbnails->set işlevselliği ile küçük güncelleyebilirsiniz.
Örnekler için, YouTube API Samples projeyi kontrol edebilirsiniz. (PHP ones.)
Ben sadece YouTube'dan mevcut görüntüleri almak için bir işlev yaptı
function youtube_image($id) {
$resolution = array (
'maxresdefault',
'sddefault',
'mqdefault',
'hqdefault',
'default'
);
for ($x = 0; $x < sizeof($resolution); $x++) {
$url = 'http://img.youtube.com/vi/' . $id . '/' . $resolution[$x] . '.jpg';
if (get_headers($url)[0] == 'HTTP/1.0 200 OK') {
break;
}
}
return $url;
}
Ben görüntünün üzerine yerleştirilen YouTube oynat düğmesi ile görüntü oluşturmak için olanak sağlayan bu şık araç bulundu:
Çevrimiçi manuel kullanım için: http://halgatewood.com/youtube/
Komut dosyası için sunucuda yüklü: https://github.com/halgatewood/youtube-thumbnail-enhancer
YOUTUBE API VERSION 3 ** UP VE 2 DAKİKA İÇİNDE ÇALIŞIYOR **
Eğer yapmak istediğiniz tüm arama, YouTube ve ilişkili özelliklerini almak ise:
Sorgu dizesi altında 2.Use. Url dizesinde (q= ile gösterilir) arama sorgusu stackoverflow örnek amaçlıdır. YouTube o size sonra vb Küçük, Parçacığı, Yazar, ayrıştırmak için bir json cevap geri göndereceğiz
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&q=stackoverflow&key=YOUR_API_KEY_HERE
https://www.googleapis.com/youtube/v3/videoCategories?part=snippet,id&maxResults=100®ionCode=us&key= YOUR YOU TUBE ID
Yukarıdaki bağlantıyı You Tube characteristics videoları bulabilirsiniz kullanıyor. Özelliklerini bulduktan sonra seçilen kategorideki videoları alabilirsiniz. Bundan sonra bu akıştan cevap yukarıdaki kullanılarak seçilen video görüntülerini bulabilirsiniz.
Aşağıda bağlantıdır.
How do I get a YouTube video thumbnail from the YouTube API?
Yaklaşım üzerinde deneyin ve You Tube API her şeyi ayrıştırmak.