YouTube API's─▒ndan bir YouTube videosu k├╝k resmini nas─▒l alabilirim?


Al─▒nan cevaba git


Bir YouTube video URL'sim varsa, ilgili k├╝├ž├╝k resmi YouTube API'sinden almak i├žin PHP ve cURL kullanman─▒n bir yolu var m─▒?


2271





2010-01-14




Cevap say─▒s─▒n─▒ say: 30






Her YouTube videosu d├Ârt tane olu┼čturulmu┼č resme sahiptir. Tahmin edilebilece─či gibi bi├žimlendirilmi┼člerdir:

 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
 

Listedeki ilki tam boyutlu bir g├Âr├╝nt├╝d├╝r ve di─čerleri k├╝├ž├╝k resimlerdir. Varsay─▒lan k├╝├ž├╝k resim (yani biri 1.jpg , 2.jpg , 3.jpg ) 'dir:

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

K├╝├ž├╝k resmin y├╝ksek kaliteli s├╝r├╝m├╝ i├žin buna benzer bir URL kullan─▒n:

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

HQÔÇÖya benzer bir URLÔÇÖyi kullanarak, k├╝k resmin orta kaliteli bir s├╝r├╝m├╝ de vard─▒r:

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

K├╝├ž├╝k resmin standart tan─▒m s├╝r├╝m├╝ i├žin ┼čuna benzer bir URL kullan─▒n:

 https://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:

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

Yukar─▒daki URLÔÇÖlerin t├╝m├╝ de HTTP ├╝zerinden kullan─▒labilir. Ek olarak, biraz daha k─▒sa ana bilgisayar ad─▒ yukar─▒daki ├Ârnek URLÔÇÖlerin i3.ytimg.com yerine ├žal─▒┼č─▒r img.youtube.com .

Alternatif olarak, k├╝├ž├╝k resimler almak i├žin YouTube Veri API's─▒n─▒ (v3) kullanabilirsiniz.


4363







Video k├╝├ž├╝k resimleri, resim yaz─▒s─▒, a├ž─▒klama, derecelendirme, istatistikler ve daha fazlas─▒n─▒ almak i├žin YouTube Veri API'sini kullanabilirsiniz . API s├╝r├╝m 3, bir anahtar gerektirir *. Anahtar─▒ al─▒n ve bir video olu┼čturun : liste iste─či:

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

├ľrnek PHP Kodu

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

Çıktı

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

* Sadece bir anahtara ihtiyac─▒n─▒z olmad─▒─č─▒n─▒ de─čil, yapmay─▒ planlad─▒─č─▒n─▒z API isteklerinin say─▒s─▒na ba─čl─▒ olarak fatura bilgilerinizi girmeniz istenebilir. Ancak, g├╝nde birka├ž milyon talep ├╝cretsizdir.

Kaynak makale .


382







Asaph dedi─či do─čru. Ancak, her YouTube videosu dokuz k├╝├ž├╝k resmin t├╝m├╝n├╝ i├žermez. Ayr─▒ca, k├╝├ž├╝k resimlerin g├Âr├╝nt├╝ boyutlar─▒ videoya ba─čl─▒d─▒r (a┼ča─č─▒daki say─▒lar bir tanedir).

Var oldu─ču garantili yedi k├╝├ž├╝k resim var:

 | Thumbnail Name      | Size (px) | URL                                              |
|--------------------- | ----------- | --------------------------------------------------|
| Player Background   | 480x360   | https://i1.ytimg.com/vi/<VIDEO ID>/0.jpg         |
| Start               | 120x90    | https://i1.ytimg.com/vi/<VIDEO ID>/1.jpg         |
| Middle              | 120x90    | https://i1.ytimg.com/vi/<VIDEO ID>/2.jpg         |
| End                 | 120x90    | https://i1.ytimg.com/vi/<VIDEO ID>/3.jpg         |
| High Quality        | 480x360   | https://i1.ytimg.com/vi/<VIDEO ID>/hqdefault.jpg |
| Medium Quality      | 320x180   | https://i1.ytimg.com/vi/<VIDEO ID>/mqdefault.jpg |
| Normal Quality      | 120x90    | https://i1.ytimg.com/vi/<VIDEO ID>/default.jpg   |
 

Ek olarak, di─čer iki k├╝├ž├╝k resim de olabilir veya olmayabilir. Varl─▒klar─▒ muhtemelen videonun y├╝ksek kalitede olup olmamas─▒na ba─čl─▒d─▒r.

 | Thumbnail Name      | Size (px) | URL                                                  |
|--------------------- | ----------- | ------------------------------------------------------|
| Standard Definition | 640x480   | https://i1.ytimg.com/vi/<VIDEO ID>/sddefault.jpg     |
| Maximum Resolution  | 1920x1080 | https://i1.ytimg.com/vi/<VIDEO ID>/maxresdefault.jpg |
 

K├╝├ž├╝k resimleri ve di─čer YouTube bilgilerini almak i├žin JavaScript ve PHP komut dosyalar─▒n─▒ bulabilirsiniz:

Bir URL veya video kimli─či g├Ândererek bir YouTube videosu hakk─▒nda t├╝m bilgileri almak i├žin YouTube Video Bilgi Olu┼čturucu arac─▒n─▒ da kullanabilirsiniz .


232


2013-12-12





YouTube API V3'te bu URL'leri k├╝├ž├╝k resimler elde etmek i├žin de kullanabiliriz ... Kalitelerine g├Âre s─▒n─▒fland─▒r─▒l─▒rlar.

 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
 

Bu URLÔÇÖlerin ilk cevapta URLÔÇÖler ├╝zerindeki avantajlar─▒ndan biri, bu URLÔÇÖlerin g├╝venlik duvarlar─▒ taraf─▒ndan engellenmemesidir.


72







YouTube'dan belirli bir video kimli─či i├žin en b├╝y├╝k resmi istiyorsan─▒z, URLÔÇÖnin ┼čunun gibi olmas─▒ gerekir:

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

API kullanarak, varsay─▒lan k├╝├ž├╝k resim g├Âr├╝nt├╝s├╝n├╝ alabilirsiniz. Basit kod ┼č├Â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);
 

51







"Siyah ├žubuklar" dan kurtulmak ve YouTubeÔÇÖun yapt─▒─č─▒ gibi yapmak istiyorsan─▒z, ┼čunlar─▒ kullanabilirsiniz:

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

.webp Dosya uzant─▒s─▒n─▒ kullanam─▒yorsan─▒z ve bunun gibi yapabilirsiniz:

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

Ayr─▒ca, ├Âl├žeklendirilmemi┼č versiyona ihtiyac─▒n─▒z varsa, maxresdefault yerine kullan─▒n mqdefault .

Not: Kullanmay─▒ d├╝┼č├╝n├╝yorsan─▒z en boy oran─▒ndan emin de─čilim maxresdefault .


43


2015-06-08





Yaln─▒zca YouTubeÔÇÖdan mevcut g├Âr├╝nt├╝leri almak i├žin bir i┼člev yapt─▒m

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

32







In YouTube Veri API's─▒ v3 , sizinle videonun k├╝├ž├╝k resimlerini alabilirsiniz Video-> liste fonksiyonu. G├Ânderen snippet.thumbnails. (Tu┼ču) , varsay─▒lan, orta veya y├╝ksek ├ž├Âz├╝n├╝rl├╝kl├╝ k├╝├ž├╝k resim se├žmek ve geni┼čli─či, y├╝ksekli─či ve URL alabilecek.

K├╝├ž├╝k resimleri, k├╝├ž├╝k resim-> i┼člevlerini kullanarak da g├╝ncelleyebilirsiniz .

├ľrnekler i├žin YouTube API ├ľrnekleri projesini kontrol edebilirsiniz . ( PHP olanlar .)


30







Videonun k├╝├ž├╝k resminin URL'sini i├žeren Video Giri┼čini alabilirsiniz . Ba─člant─▒da ├Ârnek kod var. Veya, XML'i ayr─▒┼čt─▒rmak istiyorsan─▒z, burada bilgi var . D├Ând├╝r├╝len XML media:thumbnail , k├╝├ž├╝k resmin URL'sini i├žeren bir ├Â─čeye sahiptir .


29







 // Get image form video URL
$url = $video['video_url'];

$urls = parse_url($url);

//Expect the URL to be http://youtu.be/abcd, where abcd is the video ID
if ($urls['host'] == 'youtu.be') :

    $imgPath = ltrim($urls['path'],'/');

//Expect the URL to be http://www.youtube.com/embed/abcd
elseif (strpos($urls['path'],'embed') == 1) :

    $imgPath = end(explode('/',$urls['path']));

//Expect the URL to be abcd only
elseif (strpos($url,'/') === false):

    $imgPath = $url;

//Expect the URL to be http://www.youtube.com/watch?v=abcd
else :

    parse_str($urls['query']);

    $imgPath = $v;

endif;
 

23







YouTube, GoogleÔÇÖa aittir ve Google, farkl─▒ ekran boyutlar─▒ i├žin makul say─▒da resim bulundurmay─▒ sever, bu nedenle g├Âr├╝nt├╝leri farkl─▒ boyutlarda depolan─▒r. K├╝├ž├╝k resminizin nas─▒l olaca─č─▒na bir ├Ârnek:

D├╝┼č├╝k kaliteli k├╝├ž├╝k resim:

 http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/sddefault.jpg
 

Orta kalitede k├╝├ž├╝k resim:

 http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/mqdefault.jpg
 

Y├╝ksek kaliteli k├╝├ž├╝k resim:

 http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/hqdefault.jpg
 

Maksimum kalite k├╝├ž├╝k resmi:

 http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/maxresdefault.jpg
 

17







YouTube API s├╝r├╝m 3 2 dakika i├žinde ├žal─▒┼č─▒yor ve ├žal─▒┼č─▒yor

Tek yapmak istedi─činiz YouTubeÔÇÖda arama yapmak ve ilgili ├Âzellikleri almaksa:

  1. Genel bir API edinin - Bu ba─člant─▒ iyi bir y├Ân sa─člar

  2. A┼ča─č─▒daki sorgu dizesini kullan─▒n. URL dizesindeki arama sorgusu ( q = ile g├Âsterilen ), ├Ârne─čin ama├žlar i├žin stackoverflow'tur . YouTube daha sonra K├╝├ž├╝k Resim, Metin Par├žas─▒, Yazar vb. ─░├žin ayr─▒┼čt─▒rabilece─činiz bir JSON yan─▒t─▒n─▒ geri g├Ânderir.

    https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&q=stackoverflow&key=YOUR_API_KEY_HERE


15







kullan─▒n:

 https://www.googleapis.com/youtube/v3/videoCategories?part=snippet,id&maxResults=100&regionCode=us&key=**Your YouTube ID**
 

Yukar─▒daki ba─člant─▒. Bunu kullanarak, videolar─▒n YouTube ├Âzelliklerini bulabilirsiniz. ├ľzellikleri bulduktan sonra, se├žilen kategorinin videolar─▒n─▒ alabilirsiniz. Ondan sonra Asaph'in cevab─▒n─▒ kullanarak se├žilen video g├Âr├╝nt├╝lerini bulabilirsiniz .

Yukar─▒daki yakla┼č─▒m─▒ deneyin; YouTube API's─▒ndan her ┼čeyi ayr─▒┼čt─▒rabilirsiniz .


14







YouTube k├╝├ž├╝k resimlerini bu ┼čekilde kulland─▒m:

 $url = 'http://img.youtube.com/vi/' . $youtubeId . '/0.jpg';
$img = dirname(__FILE__) . '/youtubeThumbnail_'  . $youtubeId . '.jpg';
file_put_contents($img, file_get_contents($url));
 

YouTubeÔÇÖun, g├Âr├╝nt├╝leri do─črudan sunucular─▒ndan eklemeyi engelledi─čini unutmay─▒n.


13







G├Âr├╝nt├╝n├╝n ├╝zerine yerle┼čtirilen YouTube oynat d├╝─čmesiyle g├Âr├╝nt├╝ olu┼čturman─▒za olanak sa─člayan bu ┼č─▒k arac─▒ buldum:


12







Sadece verilen ├ž├Âz├╝mleri eklemek / geni┼čletmek i├žin, kendim bu sorunu ya┼čad─▒─č─▒m i├žin bir tane birden ├žok YouTube videosu i├žeri─čini, bu durumda, k├╝├ž├╝k bir tek HTTP iste─činde bulunabilece─čini not etmek gerekti─čini d├╝┼č├╝n├╝yorum:

Bir Rest Client kullanarak, bu durumda, HTTPFUL, ┼č├Âyle bir ┼čey yapabilirsiniz:

 <?php
header("Content-type", "application/json");

//download the httpfull.phar file from http://phphttpclient.com
include("httpful.phar");

$youtubeVidIds= array("nL-rk4bgJWU", "__kupr7KQos", "UCSynl4WbLQ", "joPjqEGJGqU", "PBwEBjX3D3Q");


$response = \Httpful\Request::get("https://www.googleapis.com/youtube/v3/videos?key=YourAPIKey4&part=snippet&id=".implode (",",$youtubeVidIds)."")

->send();

print ($response);

?>
 

12







Bir ba┼čka iyi alternatif, YouTube taraf─▒ndan desteklenen oEmbed API'sini kullanmak olacakt─▒r .

YouTube URLÔÇÖnizi oEmbed URLÔÇÖsine eklemeniz yeterlidir; k├╝├ž├╝k resmi ve yerle┼čtirmek i├žin HTML kodunu i├žeren bir JSON al─▒rs─▒n─▒z.

├ľrnek:

 http://www.youtube.com/oembed?format=json&url=http%3A//youtube.com/watch%3Fv%3DDLzxrzFCyOs
 

Sana veririm:

 {
  thumbnail_url: "https://i.ytimg.com/vi/DLzxrzFCyOs/hqdefault.jpg",
  width: 459,
  author_name: "AllKindsOfStuff",
  version: "1.0",
  author_url: "https://www.youtube.com/channel/UCLNd5EtH77IyN1frExzwPRQ",
  thumbnail_width: 480,
  type: "video",
  provider_url: "https://www.youtube.com/",
  html: "<iframe width="459" height="344" src="https://www.youtube.com/embed/DLzxrzFCyOs?feature=oembed" frameborder="0" allowfullscreen></iframe>",
  title: "Some title bla bla foo bar",
  thumbnail_height: 360,
  provider_name: "YouTube",
  height: 344
}
 

Daha fazla bilgi i├žin belgeleri okuyun .


12







YouTube k├╝├ž├╝k resmi i├žin olu┼čturdu─čum basit bir PHP i┼člevi ve t├╝rleri

  • varsay─▒lan
  • hqdefault
  • mqdefault
  • sddefault
  • maxresdefault

 

 function get_youtube_thumb($link,$type){

    $video_id = explode("?v=", $link);

    if (empty($video_id[1])){
        $video_id = explode("/v/", $link);
        $video_id = explode("&", $video_id[1]);
        $video_id = $video_id[0];
    }
    $thumb_link = "";

    if($type == 'default'   || $type == 'hqdefault' ||
       $type == 'mqdefault' || $type == 'sddefault' ||
       $type == 'maxresdefault'){

        $thumb_link = 'http://img.youtube.com/vi/'.$video_id.'/'.$type.'.jpg';

    }elseif($type == "id"){
        $thumb_link = $video_id;
    }
    return $thumb_link;}
 

10







Video kimli─čini parse_url , parse_str kullanarak YouTube video URL'sinden edinebilir ve ard─▒ndan resimler i├žin ├Âng├Âr├╝l├╝ URL'lere ekleyebilirsiniz. Tahmini URLÔÇÖler i├žin YouTubeÔÇÖa te┼čekk├╝rler

 $videoUrl = "https://www.youtube.com/watch?v=8zy7wGbQgfw";
parse_str( parse_url( $videoUrl, PHP_URL_QUERY ), $my_array_of_vars );
$ytID = $my_array_of_vars['v']; //gets video ID

print "https://img.youtube.com/vi/<?php print $ytID?>/maxresdefault.jpg";
print "https://img.youtube.com/vi/<?php print $ytID?>/mqdefault.jpg";
print "https://img.youtube.com/vi/<?php print $ytID?>/hqdefault.jpg";
print "https://img.youtube.com/vi/<?php print $ytID?>/sddefault.jpg";
print "https://img.youtube.com/vi/<?php print $ytID?>/default.jpg";
 

YouTube k├╝├ž├╝k resimlerini olu┼čturmak i├žin bu arac─▒ kullanabilirsiniz

https://tools.tutsplanet.com/index.php/get-youtube-video-thumbnails


10







Genel API kullan─▒yorsan─▒z, bunu yapman─▒n en iyi yolu if ifadeler kullanmakt─▒r .

Video herkese a├ž─▒ksa veya listede yoksa, k├╝├ž├╝k resmi URL y├Ântemini kullanarak belirlersiniz. Video ├Âzelse, k├╝├ž├╝k resmi almak i├žin API'yi kullan─▒rs─▒n─▒z.

 <?php
    if($video_status == 'unlisted'){
        $video_thumbnail = 'http://img.youtube.com/vi/'.$video_url.'/mqdefault.jpg';
        $video_status = '<i class="fa fa-lock"></i>&nbsp;Unlisted';
    }
    elseif($video_status == 'public'){
        $video_thumbnail = 'http://img.youtube.com/vi/'.$video_url.'/mqdefault.jpg';
        $video_status = '<i class="fa fa-eye"></i>&nbsp;Public';
    }
    elseif($video_status == 'private'){
        $video_thumbnail = $playlistItem['snippet']['thumbnails']['maxres']['url'];
        $video_status = '<i class="fa fa-lock"></i>&nbsp;Private';
    }
 

9







YouTube Veri API's─▒

YouTube bize her video i├žin olu┼čturulan d├Ârt g├Âr├╝nt├╝y├╝ Veri API's─▒ (v3) arac─▒l─▒─č─▒yla sa─člar, ├Ârne─čin,

  1. https://i.ytimg.com/vi/V_zwalcR8DU/maxresdefault.jpg

  2. https://i.ytimg.com/vi/V_zwalcR8DU/sddefault.jpg

  3. https://i.ytimg.com/vi/V_zwalcR8DU/hqdefault.jpg

  4. https://i.ytimg.com/vi/V_zwalcR8DU/mqdefault.jpg

API ├╝zerinden g├Âr├╝nt├╝lere eri┼čme

  1. ─░lk ├Ânce genel API anahtar─▒n─▒z─▒ Google API Konsolu'ndan al─▒n .
  2. YouTube'un API dok├╝mantasyonundaki k├╝├ž├╝k referans─▒na g├Âre , snippet.thumbnails ├╝zerindeki kaynaklara eri┼čmeniz gerekir.
  3. Buna g├Âre, URLÔÇÖnizi bu ┼čekilde ifade etmeniz gerekir -

     www.googleapis.com/youtube/v3/videos?part=snippet&id=`yourVideoId`&key=`yourApiKey`
     

┼×imdi video kimli─činizi ve API anahtar─▒n─▒z─▒ ilgili video kimli─činiz ve api anahtar─▒n─▒zla de─či┼čtirin; yan─▒t─▒, snippet de─či┼čkeninin minik resimlerinde bulunan d├Ârt ba─člant─▒y─▒ sa─člayan (t├╝m├╝ varsa) size bir JSON ├ž─▒kt─▒s─▒ olacakt─▒r.


8







K├╝├ž├╝k resim i├žin ├žok fazla cevap oldu─čunu d├╝┼č├╝n├╝yorum, ancak YouTube k├╝├ž├╝k resmini almak i├žin kolayca ba┼čka URL'ler eklemek istiyorum. Sadece Asaph'in cevab─▒ndan bir metin al─▒yorum. YouTube'un k├╝├ž├╝k resimlerini almak i├žin baz─▒ URL'ler:

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

K├╝├ž├╝k resmin y├╝ksek kaliteli s├╝r├╝m├╝ i├žin buna benzer bir URL kullan─▒n:

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

Ayr─▒ca, y├╝ksek kaliteye benzer bir URL kullanarak, k├╝├ž├╝k resmin orta kaliteli bir s├╝r├╝m├╝ de vard─▒r:

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

K├╝├ž├╝k resmin standart tan─▒m s├╝r├╝m├╝ i├žin ┼čuna benzer bir URL kullan─▒n:

 https://ytimg.googleusercontent.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:

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

6







     function get_video_thumbnail( $src ) {
            $url_pieces = explode('/', $src);
            if( $url_pieces[2] == 'dai.ly'){
                $id = $url_pieces[3];
                $hash = json_decode(file_get_contents('https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_large_url'), TRUE);
                $thumbnail = $hash['thumbnail_large_url'];
            }else if($url_pieces[2] == 'www.dailymotion.com'){
                $id = $url_pieces[4];
                $hash = json_decode(file_get_contents('https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_large_url'), TRUE);
                $thumbnail = $hash['thumbnail_large_url'];
            }else if ( $url_pieces[2] == 'vimeo.com' ) { // If Vimeo
                $id = $url_pieces[3];
                $hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/' . $id . '.php'));
                $thumbnail = $hash[0]['thumbnail_large'];
            } elseif ( $url_pieces[2] == 'youtu.be' ) { // If Youtube
                $extract_id = explode('?', $url_pieces[3]);
                $id = $extract_id[0];
                $thumbnail = 'http://img.youtube.com/vi/' . $id . '/mqdefault.jpg';
            }else if ( $url_pieces[2] == 'player.vimeo.com' ) { // If Vimeo
                $id = $url_pieces[4];
                $hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/' . $id . '.php'));
                $thumbnail = $hash[0]['thumbnail_large'];
            } elseif ( $url_pieces[2] == 'www.youtube.com' ) { // If Youtube
                $extract_id = explode('=', $url_pieces[3]);
                $id = $extract_id[1];
                $thumbnail = 'http://img.youtube.com/vi/' . $id . '/mqdefault.jpg';
            } else{
                $thumbnail = tim_thumb_default_image('video-icon.png', null, 147, 252);
            }
            return $thumbnail;
        }

get_video_thumbnail('https://vimeo.com/154618727');
get_video_thumbnail('https://www.youtube.com/watch?v=SwU0I7_5Cmc');
get_video_thumbnail('https://youtu.be/pbzIfnekjtM');
get_video_thumbnail('http://www.dailymotion.com/video/x5thjyz');
 

5







En ├╝stteki cevap manuel kullan─▒m i├žin optimize edilmi┼čtir. Ay─▒r─▒c─▒ i├žermeyen video kimli─či simgesi, ├žift t─▒klamayla se├žmeyi sa─člar.

Her YouTube videosu d├Ârt tane olu┼čturulmu┼č resme sahiptir. Tahmin edilebilece─či gibi bi├žimlendirilmi┼člerdir:

 https://img.youtube.com/vi/YOUTUBEVIDEOID/0.jpg
https://img.youtube.com/vi/YOUTUBEVIDEOID/1.jpg
https://img.youtube.com/vi/YOUTUBEVIDEOID/2.jpg
https://img.youtube.com/vi/YOUTUBEVIDEOID/3.jpg
 

Listedeki ilki tam boyutlu bir g├Âr├╝nt├╝d├╝r ve di─čerleri k├╝├ž├╝k resimlerdir. (. Yani biri varsay─▒lan k├╝├ž├╝k resim 1.jpg , 2.jpg , 3.jpg ) 'dir:

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

K├╝├ž├╝k resmin y├╝ksek kaliteli s├╝r├╝m├╝ i├žin buna benzer bir URL kullan─▒n:

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

HQÔÇÖya benzer bir URLÔÇÖyi kullanarak, k├╝k resmin orta kaliteli bir s├╝r├╝m├╝ de vard─▒r:

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

K├╝├ž├╝k resmin standart tan─▒m s├╝r├╝m├╝ i├žin ┼čuna benzer bir URL kullan─▒n:

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

K├╝├ž├╝k resmin maksimum ├ž├Âz├╝n├╝rl├╝k s├╝r├╝m├╝ i├žin buna benzer bir URL kullan─▒n:

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

Yukar─▒daki URLÔÇÖlerin t├╝m├╝ de HTTP ├╝zerinden kullan─▒labilir. Ek olarak, biraz daha k─▒sa ana bilgisayar ad─▒ yukar─▒daki ├Ârnek URLÔÇÖlerin i3.ytimg.com yerine ├žal─▒┼č─▒r img.youtube.com .

Alternatif olarak, k├╝├ž├╝k resimler almak i├žin YouTube Veri API's─▒n─▒ (v3) kullanabilirsiniz.


3







Y├Ântem 1:

Bir YouTube videosu i├žin t├╝m bilgileri "thumbnail_url", http://www.youtube.com/oembed?format=json&url= {video URLÔÇÖniz buraya gider}.

Son URL gibi bak + PHP test kodu

 $data = file_get_contents("https://www.youtube.com/oembed?format=json&url=https://www.youtube.com/watch?v=_7s-6V_0nwA");
$json = json_decode($data);
var_dump($json);
 

Çıktı

 object(stdClass)[1]
  public 'width' => int 480
  public 'version' => string '1.0' (length=3)
  public 'thumbnail_width' => int 480
  public 'title' => string 'how to reminder in window as display message' (length=44)
  public 'provider_url' => string 'https://www.youtube.com/' (length=24)
  public 'thumbnail_url' => string 'https://i.ytimg.com/vi/_7s-6V_0nwA/hqdefault.jpg' (length=48)
  public 'author_name' => string 'H2 ZONE' (length=7)
  public 'type' => string 'video' (length=5)
  public 'author_url' => string 'https://www.youtube.com/channel/UC9M35YwDs8_PCWXd3qkiNzg' (length=56)
  public 'provider_name' => string 'YouTube' (length=7)
  public 'height' => int 270
  public 'html' => string '<iframe width="480" height="270" src="https://www.youtube.com/embed/_7s-6V_0nwA?feature=oembed" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>' (length=171)
  public 'thumbnail_height' => int 360
 

Ayr─▒nt─▒lar i├žin https://www.youtube.com/watch?v=mXde7q59BI8 video e─čitimini de g├Ârebilirsiniz. 1

Y├Ântem 2:

YouTube resim ba─člant─▒s─▒n─▒ kullanarak https://img.youtube.com/vi/ "insert-youtube-video-id-here" /default.jpg

Y├Ântem 3:

Video URL ba─člant─▒s─▒n─▒ kullanarak k├╝├ž├╝k resim elde etmek i├žin taray─▒c─▒ kaynak kodunu kullanma - video kaynak koduna gidin ve thumbnailurl dosyas─▒n─▒ aray─▒n. ┼×imdi bu URL'yi kaynak kodunuzda kullanabilirsiniz:

 {img src="https://img.youtube.com/vi/"insert-youtube-video-id-here"/default.jpg"}
 

Ayr─▒nt─▒lar i├žin ayr─▒ca , kimli─či veya https://www.youtube.com/watch?v=9f6E8MeM6PI video e─čitimi 2 kullanarak bir YouTube videosu k├╝├ž├╝k resmi nas─▒l elde edebilirsiniz?


2







kullan─▒m img.youtube.com/vi/YouTubeID/ImageFormat.jpg

Burada g├Âr├╝nt├╝ formatlar─▒ varsay─▒lan, hqdefault, maxresdefault gibi farkl─▒d─▒r.


1







Bu benim m├╝┼čteri taraf─▒nda sadece no-API-anahtar gerekli bir ├ž├Âz├╝md├╝r.

 YouTube.parse('https://www.youtube.com/watch?v=P3DGwyl0mJQ').then(_ => console.log(_))
 

Kod:

 import { parseURL, parseQueryString } from './url'
import { getImageSize } from './image'

const PICTURE_SIZE_NAMES = [
    // 1280 x 720.
    // HD aspect ratio.
    'maxresdefault',
    // 629 x 472.
    // non-HD aspect ratio.
    'sddefault',
    // For really old videos not having `maxresdefault`/`sddefault`.
    'hqdefault'
]

// - Supported YouTube URL formats:
//   - http://www.youtube.com/watch?v=My2FRPA3Gf8
//   - http://youtu.be/My2FRPA3Gf8
export default
{
    parse: async function(url)
    {
        // Get video ID.
        let id
        const location = parseURL(url)
        if (location.hostname === 'www.youtube.com') {
            if (location.search) {
                const query = parseQueryString(location.search.slice('/'.length))
                id = query.v
            }
        } else if (location.hostname === 'youtu.be') {
            id = location.pathname.slice('/'.length)
        }

        if (id) {
            return {
                source: {
                    provider: 'YouTube',
                    id
                },
                picture: await this.getPicture(id)
            }
        }
    },

    getPicture: async (id) => {
        for (const sizeName of PICTURE_SIZE_NAMES) {
            try {
                const url = getPictureSizeURL(id, sizeName)
                return {
                    type: 'image/jpeg',
                    sizes: [{
                        url,
                        ...(await getImageSize(url))
                    }]
                }
            } catch (error) {
                console.error(error)
            }
        }
        throw new Error(`No picture found for YouTube video ${id}`)
    },

    getEmbeddedVideoURL(id, options = {}) {
        return `https://www.youtube.com/embed/${id}`
    }
}

const getPictureSizeURL = (id, sizeName) => `https://img.youtube.com/vi/${id}/${sizeName}.jpg`
 

Yard─▒mc─▒ program image.js :

 // Gets image size.
// Returns a `Promise`.
function getImageSize(url)
{
    return new Promise((resolve, reject) =>
    {
        const image = new Image()
        image.onload = () => resolve({ width: image.width, height: image.height })
        image.onerror = reject
        image.src = url
    })
}
 

Yard─▒mc─▒ program url.js :

 // Only on client side.
export function parseURL(url)
{
    const link = document.createElement('a')
    link.href = url
    return link
}

export function parseQueryString(queryString)
{
    return queryString.split('&').reduce((query, part) =>
    {
        const [key, value] = part.split('=')
        query[decodeURIComponent(key)] = decodeURIComponent(value)
        return query
    },
    {})
}
 

0







─░┼čte k├╝├ž├╝k resimleri almak i├žin olu┼čturdu─čum basit bir fonksiyon. Anlamas─▒ ve kullan─▒m─▒ kolayd─▒r.

$ link, taray─▒c─▒da oldu─ču gibi kopyalanan YouTube ba─člant─▒s─▒d─▒r, ├Ârne─čin, https://www.youtube.com/watch?v=BQ0mxQXmLsk

 function get_youtube_thumb($link){
    $new = str_replace('https://www.youtube.com/watch?v=', '', $link);
    $thumbnail = 'https://img.youtube.com/vi/' . $new . '/0.jpg';
    return $thumbnail;
}
 

0







Bu kodu bo┼č .php dosyas─▒na kaydedin ve test edin.

 <img src="<?php echo youtube_img_src('9bZkp7q19f0', 'high');?>" />
<?php
// Get a YOUTUBE video thumb image's source url for IMG tag "src" attribute:
// $ID = YouYube video ID (string)
// $size = string (default, medium, high or standard)
function youtube_img_src ($ID = null, $size = 'default') {
    switch ($size) {
        case 'medium':
            $size = 'mqdefault';
            break;
        case 'high':
            $size = 'hqdefault';
            break;
        case 'standard':
            $size = 'sddefault';
            break;
        default:
            $size = 'default';
            break;
    }
    if ($ID) {
        return sprintf('https://img.youtube.com/vi/%s/%s.jpg', $ID, $size);
    }
    return 'https://img.youtube.com/vi/ERROR/1.jpg';
}
 

Te┼čekk├╝rler.


0


2019-07-28





 public const string tubeThumb = "http://i.ytimg.com/vi/[id]/hqdefault.jpg";
vid.Thumbnail = tubeThumb.Replace("[id]", vid.VideoID);
 

-1



─░lgili yay─▒nlar


Visual Studio Kodunda baz─▒ dosyalar─▒ kenar ├žubu─čundan nas─▒l gizlerim?

─░stek iletilerindeki g├╝nl├╝k iletilerini nas─▒l devre d─▒┼č─▒ b─▒rak─▒r─▒m?

Python'da bir alt dizgiyi bir dizgenin sonundan nas─▒l ├ž─▒karabilirim?

.Class dosyalar─▒n─▒ Eclipse'deki A├ž─▒k Kaynak ileti┼čim kutusundan nas─▒l gizlerim?

Cygwin bile┼čenlerini komut sat─▒r─▒ndan nas─▒l kurar─▒m?

├ľnce EF Kodu: Nuget paket konsolundan 'EntityValidationErrors' ├Âzelli─čini nas─▒l g├Ârebilirim?

GetLastError () taraf─▒ndan d├Ând├╝r├╝len hata kodundan hata mesaj─▒ nas─▒l al─▒n─▒r?

├ç├Âp Toplama'y─▒ Kabuktan Nas─▒l Zorluyorsunuz?

Bir dosyay─▒ FileList'ten nas─▒l kald─▒r─▒r─▒m?

YouTube API's─▒nda video g├Âr├╝nt├╝leme say─▒s─▒ nas─▒l al─▒n─▒r?

Etiketle ilgili di─čer sorular [php]


Normal bir ifade kullanarak bir e-posta adresini nas─▒l do─črular─▒m?

Bir liste nas─▒l kopyalan─▒r veya kopyalan─▒r?

H─▒zl─▒ Beta performans─▒: dizileri s─▒ralama

NuGet ile paketin eski s├╝r├╝m├╝n├╝ indirin

Bir base64 dizesini nas─▒l kodlar─▒m ve kodunu ├ž├Âzerim?

Git deposundaki b├╝y├╝k bir dosyay─▒ i┼čleme ge├žmi┼činden nas─▒l kald─▒r─▒r─▒m / silerim?

Bir MySQL veritaban─▒ / tablosu / s├╝tununun hangi karakteri ayarlad─▒─č─▒n─▒ nas─▒l g├Ârebilirim?

Ayn─▒ <table> i├žinde birden fazla <Tbody> alabilir miyiz?

Js onClick ile verilen tepki, y├Ânteme de─čer alamaz

Bir ta┼čma veya updatie RubyGems nas─▒l kurulur, izin hatas─▒yla ba┼čar─▒s─▒z olursa