Nasıl YouTube API bir YouTube video küçük alabilirim?

11 Cevap php

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ı?

11 Cevap

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:

What does the data returned by the API look like

Öğrenmek için tarayıcınızda bu URL'leri açın:

  1. http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&prettyprint=true
  2. http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&prettyprint=true&alt=json
  3. http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&prettyprint=true&alt=jsonc
  • gzDS-Kfd5XQ video Kimliği.
  • Bu küçük bir ayak izi vardır, çünkü üçüncü bir tavsiye

Use the data on client side using vanilla JavaScript

<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>

Use the data on client side using jQuery

$.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");
});

Use the data on server-side using PHP

<?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 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:

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:

  1. Bir KAMU API alın - This Link gives good direction

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&regionCode=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.