Pertanyaan Bagaimana cara mendapatkan thumbnail video YouTube dari API YouTube?


Jika saya memiliki URL video YouTube, apakah ada cara untuk menggunakan PHP dan cURL untuk mendapatkan thumbnail terkait dari API YouTube?


2023
2018-01-14 23:34


asal


Jawaban:


Setiap video YouTube memiliki 4 gambar yang dihasilkan. Mereka dapat diprediksi diformat sebagai berikut:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg

Yang pertama dalam daftar adalah gambar ukuran penuh dan yang lainnya adalah gambar thumbnail. Gambar mini default (mis. Salah satunya 1.jpg, 2.jpg, 3.jpg) aku s:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg

Untuk versi gambar mini berkualitas tinggi, gunakan url yang serupa dengan ini:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg

Ada juga versi kualitas medium dari thumbnail, menggunakan url yang mirip dengan HQ:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg

Untuk versi definisi standar dari gambar mini, gunakan url yang serupa dengan ini:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg

Untuk versi resolusi maksimum dari thumbnail, gunakan url yang serupa dengan ini:

https://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg

Semua url di atas juga tersedia di http. Selain itu, nama host yang sedikit lebih pendek i3.ytimg.com berfungsi sebagai pengganti img.youtube.com dalam contoh url di atas.

Atau, Anda dapat menggunakan API Data YouTube (v3) untuk mendapatkan gambar kecil.


3875
2018-01-14 23:40



Kamu dapat memakai API Data YouTube untuk mengambil gambar mini video, keterangan, deskripsi, peringkat, statistik, dan lainnya. Versi API 3 memerlukan kunci *. Dapatkan kunci dan buat a video: daftar permintaan:

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

Contoh Kode PHP

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

Keluaran

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

* Tidak hanya itu Anda membutuhkan kunci, Anda mungkin akan diminta informasi penagihan tergantung pada jumlah permintaan API yang Anda rencanakan. Namun, beberapa juta permintaan per hari gratis.

Artikel sumber.


357
2018-01-21 09:58



Apa yang dikatakan Asaf benar. Namun, tidak semua video YouTube mengandung sembilan thumbnail, tetapi ada tujuh thumbnail untuk setiap video. Mereka:

(Ukuran gambar tergantung pada video.)

  • Thumbnail Latar Belakang Pemain (480x360 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/0.jpg

  • Mulai Thumbnail (120x90 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/1.jpg

  • Thumbnail Tengah (120x90 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/2.jpg

  • Akhir Thumbnail (120x90 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/3.jpg

  • Thumbnail Kualitas Tinggi (480x360 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/hqdefault.jpg

  • Thumbnail Kualitas Medium (320x180 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/mqdefault.jpg

  • Thumbnail Kualitas Normal (120x90 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/default.jpg

Dan tambahan, dua thumbnail berikutnya mungkin atau mungkin tidak ada. Untuk video HQ mereka ada.

  • Thumbnail Definisi Standar (640x480 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/sddefault.jpg

  • Thumbnail Resolusi Maksimum (1920x1080 piksel)
    https://i1.ytimg.com/vi/G0wGs3useV8/maxresdefault.jpg

Anda bisa mendapatkan skrip JavaScript dan PHP untuk mengambil thumbnail dan lainnya Informasi YouTube di

Gunakan juga alat ini Generator Informasi Video YouTube untuk mendapatkan semua informasi video YouTube dengan mengirimkan URL atau ID video.


199
2017-12-12 11:17



Di YouTube API V3, kami juga dapat menggunakan URL ini untuk mendapatkan thumbnail ... Mereka diklasifikasikan berdasarkan kualitasnya.

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

Dan untuk resolusi maksimal ..

https://i1.ytimg.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg

Satu keuntungan dari URL ini di atas URL dalam jawaban pertama adalah bahwa URL ini tidak diblokir oleh firewall.


66
2017-08-23 10:23



Jika Anda menginginkan gambar terbesar dari YouTube untuk ID video tertentu, maka URL harus seperti ini:

http://i3.ytimg.com/vi/SomeVideoIDHere/0.jpg

Dengan menggunakan API, Anda dapat mengambil gambar thumbnail default. Kode sederhana harus seperti ini:

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

46
2017-12-22 05:44



Jika Anda ingin menyingkirkan "bilah hitam" dan melakukannya seperti yang dilakukan YouTube, Anda dapat menggunakan:

https://i.ytimg.com/vi_webp/<video id>/mqdefault.webp

Dan jika Anda tidak bisa menggunakannya .webp ekstensi Anda dapat melakukannya seperti ini:

https://i.ytimg.com/vi/<video id>/mqdefault.jpg

Juga, jika Anda membutuhkan penggunaan versi unscaled maxresdefault dari pada mqdefault.

Catatan: Saya tidak yakin tentang rasio aspek jika Anda berencana menggunakannya maxresdefault.


39
2018-06-08 11:59



Saya membuat fungsi untuk hanya mengambil gambar yang ada dari YouTube

function youtube_image($id) {
    $resolution = array (
        'maxresdefault',
        'sddefault',
        'mqdefault',
        'hqdefault',
        'default'
    );

    for ($x = 0; $x < sizeof($resolution); $x++) {
        $url = '//img.youtube.com/vi/' . $id . '/' . $resolution[$x] . '.jpg';
        if (get_headers($url)[0] == 'HTTP/1.0 200 OK') {
            break;
        }
    }
    return $url;
}

27
2017-12-18 10:29



Di API Data YouTube v3, Anda bisa mendapatkan thumbnail video dengan daftar video-> fungsi. Dari snippet.thumbnails. (kunci), Anda dapat memilih thumbnail default, gambar resolusi menengah atau tinggi, dan mendapatkan lebar, tinggi dan URL.

Anda juga dapat memperbarui thumbnail dengan thumbnails> set fungsionalitas.

Sebagai contoh, Anda dapat memeriksa Sampel API YouTube proyek. (Yang PHP.)


26
2018-05-28 17:45