আমি কীভাবে YouTube এপিআই থেকে একটি ইউটিউব ভিডিও থাম্বনেইল পাব?


2397

আমার যদি কোনও ইউটিউব ভিডিও ইউআরএল থাকে, ইউটিউব এপিআই থেকে সম্পর্কিত থাম্বনেইল পেতে পিএইচপি এবং সিআরএল ব্যবহার করার কোনও উপায় আছে কি?


এই পৃষ্ঠায় অনেক ভাল উত্তরের ভিত্তিতে, ইউআরএল পদ্ধতি থেকে ডাব্লু
স্কয়ারক্যান্ডি

উত্তর:


4607

প্রতিটি ইউটিউব ভিডিওতে চারটি উত্পন্ন চিত্র রয়েছে। সেগুলি অনুমানযোগ্যভাবে নিম্নরূপে ফর্ম্যাট করা হয়েছে:

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

তালিকার প্রথমটি একটি সম্পূর্ণ আকারের চিত্র এবং অন্যেরা থাম্বনেইল চিত্র। ডিফল্ট থাম্বনেল চিত্র (অর্থাত, এক 1.jpg, 2.jpg, 3.jpg) হল:

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

থাম্বনেইলের উচ্চ মানের সংস্করণের জন্য এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

এইচকিউয়ের অনুরূপ ইউআরএল ব্যবহার করে থাম্বনেইলের একটি মাঝারি মানের সংস্করণও রয়েছে:

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

থাম্বনেইলের স্ট্যান্ডার্ড সংজ্ঞা সংস্করণের জন্য, এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

থাম্বনেইলের সর্বাধিক রেজোলিউশন সংস্করণের জন্য এর অনুরূপ URL টি ব্যবহার করুন:

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

উপরের সমস্ত URL গুলি HTTP- র মাধ্যমেও উপলব্ধ। অতিরিক্ত হিসাবে, সামান্য সংক্ষিপ্ত হোস্টনেম উপরের উদাহরণ URL i3.ytimg.comএর জায়গায় কাজ করে img.youtube.com

বিকল্পভাবে, আপনি থাম্বনেইল চিত্রগুলি পেতে YouTube ডেটা API (v3) ব্যবহার করতে পারেন ।


27
অন্য কেউ যদি এই বোবা ভুল করে - আপনি http://www.img.youtube.comকেবল ব্যবহার করতে পারবেন নাhttp://img.youtube.com
Ciaran Phillips

36
@ নিকজি mqdefault16: 9
টমাস্টাস্টিক

56
এটি কোথাও সরকারীভাবে নথিভুক্ত করা হয়?
বুজুনিক্স

14
উচ্চতর রেজোলিউশন থাম্বনেইলগুলির উপস্থিতির গ্যারান্টি নেই।
সালমান এ

63
@ ক্ল্যামি 219 এটিও মিথ্যা - স্পষ্টতই কাজ করে (2015-04): i.ytimg.com/vi_webp/EhjdWfxjuHA/sddefault.webp , সত্য: sddefaultএবংmaxresdefault কিছু ভিডিও সবসময়ই অজাইবল নয় যদিও তাদের ....
jave.web

398

ভিডিও থাম্বনেইলস, ক্যাপশন, বিবরণ, রেটিং, পরিসংখ্যান এবং আরও অনেক কিছু পেতে আপনি ইউটিউব ডেটা এপিআই ব্যবহার করতে পারেন । API সংস্করণ 3 এর জন্য একটি কী প্রয়োজন *। কীটি পান এবং একটি ভিডিও তৈরি করুন : অনুরোধ তালিকা :

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

উদাহরণ পিএইচপি কোড

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

আউটপুট

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

* কেবল আপনার চাবি লাগবে তা নয়, আপনার করা পরিকল্পনাগুলির সংখ্যার উপর নির্ভর করে আপনাকে বিলিংয়ের তথ্য জিজ্ঞাসা করা হতে পারে। তবে, প্রতিদিন কয়েক মিলিয়ন অনুরোধ বিনামূল্যে।

উত্স নিবন্ধ


6
এফওয়াইআই: আমি নতুন জেএসওএন কাঠামোর সাথে মানানসই কোডটি পরিবর্তন করিনি। আপনার getJSON এর কোডটি ভুল। আপনি getJSON এর jsoncপরিবর্তে jsonব্যবহার করেছেন। এটি আপনার ভুল JSON কাঠামোর কারণে ব্যর্থ হচ্ছে।
মরিস

5
শুধুমাত্র প্রথম উদাহরণ ব্যবহার করতে পারেন jsonc। JQuery এবং পিএইচপি উদাহরণগুলি ব্যবহার করা আবশ্যকjson । এবং আমি নতুন JSON কাঠামো অনুসারে কোডটি আপডেট করেছি have আমি এখনই কোডটি ব্যবহার করছি এবং এটি লাইভ কাজ করছে। সুতরাং পরিবর্তনগুলি না পড়ে এটি কাজ করছে না বলে বলবেন না। ধন্যবাদ!
মরিস

7
JQuery এবং পিএইচপি উদাহরণ json ব্যবহার করা উচিত ... আপনি একটি রেফারেন্স প্রদান করতে পারেন? এছাড়াও, একটি নির্দিষ্ট এপিআই সংস্করণ নম্বর ( v=2) অনুরোধ করা এপিআই পরিবর্তনগুলির যত্ন নেয়।
সালমান এ

4
Gdata কলটি কেবলমাত্র এমকিউ / এইচকিউ / এসডি হিসাবে উপলব্ধ ভিডিওগুলির জন্য ম্যাক্রেসেসেফল্ট.জেপিজি উপলব্ধ কিনা তা ফিরিয়ে দেয় না।
হারুন

2
API v3 খুব খারাপভাবে নথিভুক্ত। তারা আপনাকে নমুনা কোড দেয় তবে "রেফারেন্স" বিভাগটি খুব সংক্ষেপে। কিছু বিষয় যা তুলনামূলকভাবে "সুস্পষ্ট" হওয়া উচিত, মনে হয় চূড়ান্তভাবে কাজ করা উচিত।
ক্যাশকো

256

আসফ যা বলেছিল তা সঠিক। তবে, প্রতিটি YouTube ভিডিওতে নয়টি থাম্বনেইল থাকে। এছাড়াও, থাম্বনেইলের চিত্রের আকারগুলি ভিডিওর উপর নির্ভর করে (নীচের সংখ্যাগুলি একটির উপর নির্ভরশীল)।

এখানে সাতটি থাম্বনেইল থাকার নিশ্চয়তা রয়েছে:

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

অতিরিক্তভাবে, অন্য দুটি থাম্বনেইল থাকতে পারে এবং নাও থাকতে পারে। তাদের উপস্থিতি সম্ভবত ভিডিওটি উচ্চমানের কিনা তার উপর ভিত্তি করে।

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

থাম্বনেইল এবং অন্যান্য YouTube তথ্য পুনরুদ্ধার করতে আপনি জাভাস্ক্রিপ্ট এবং পিএইচপি স্ক্রিপ্টগুলি খুঁজে পেতে পারেন:

ইউআরএল বা ভিডিও আইডি জমা দিয়ে YouTube ভিডিও সম্পর্কে সমস্ত তথ্য পেতে আপনি YouTube ভিডিও তথ্য জেনারেটর সরঞ্জামটিও ব্যবহার করতে পারেন use


5
আপনি সরকারী ইউটিউব লিঙ্ক img.youtube.com/vi/mJ8tq8AnNis/mqdefault.jpg এর সাথেও একই ফলাফল অর্জন করতে পারেন যেখানে mJ8tq8AnNis ভিডিও আইডি রয়েছে
রাগাইসিস

4
কখনও কখনও নির্দিষ্ট বেশী উপস্থিত না থাকার - i1.ytimg.com/vi/r5R8gSgedh4/maxresdefault.jpg বাজে যদিও i1.ytimg.com/vi/r5R8gSgedh4/0.jpg উদাহরণস্বরূপ ঠিক আছে।
NoBugs

এই পোস্ট করার জন্য ধন্যবাদ। আপনার এই ডেটাটির জন্য কোনও উত্স আছে? এটি সঠিক, তবে আমি এটিতে ইউটিউব / গুগলের কোনও কিছুর লিঙ্ক চাই এবং এটির কোনও সন্ধান করতে পারি না।
জোনাথন ভানাস্কো

@ জোনাথানভানস্কো, দুঃখিত আপনি যদি সঠিক বিষয়বস্তুর জন্য কোনও অফিশিয়াল রিসোর্স বলতে চান তবে আমি কিছুই জানি না। এবং আমি মনে করি না যে তাদের দৃষ্টিকোণ থেকে এই জাতীয় কিছু প্রকাশ করার একটি উদ্দেশ্য রয়েছে।
এজিএমজি

4
সরঞ্জাম "ইউটিউব ভিডিও তথ্য জেনারেটর" বর্তমানে কাজ করছে না। উত্তর সম্পাদনা বিবেচনা করুন।
giovannipds

74

ইউটিউব এপিআই ভি 3-তে আমরা থাম্বনেইলগুলি পাওয়ার জন্য এই ইউআরএলগুলিও ব্যবহার করতে পারি ... সেগুলি তাদের মানের ভিত্তিতে শ্রেণিবদ্ধ করা হয়।

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

এবং সর্বোচ্চ সমাধানের জন্য ..

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

প্রথম উত্তরে ইউআরএলগুলির উপর এই ইউআরএলগুলির একটি সুবিধা হ'ল এই ইউআরএলগুলি ফায়ারওয়াল দ্বারা অবরুদ্ধ হয় না।


3
এই চিত্রগুলি কি মনে হয় কোনও ইমগ ট্যাগে স্থাপন করা হয়েছে এবং কেবলমাত্র কাজ করা উচিত কারণ আমি ডান ইউটিউব ভিডিও আইডি দিয়ে লিঙ্কটি অন্তর্ভুক্ত করার চেষ্টা করছি এবং সেগুলিকে
ইমগ

5
@ Lion789 এই URL গুলি যখন কোনও ইমগ ট্যাগে রাখা হয় তখন তা ঠিকঠাক কাজ করে .. সমস্যাটি ভুল ভিডিও আইডি হতে পারে বা অনুরোধ করা রেজোলিউশন নাও পেতে পারে তবে আপনি এই ত্রুটিগুলি দিয়ে 404 পাবেন না lease দয়া করে ইউআরএলটি দেখুন img ট্যাগ।
নরেন

2
এটি কি নিশ্চিত যে API গুলি v2 বন্ধ হয়ে যাওয়ার পরে urls কাজ করতে থাকবে?
ড্যানিয়েল বি

1
@ ড্যানিয়েলবি এই ইউআরএলগুলি এখনও কাজ করে। এই URL গুলি API v2 এর পরে কাজ করবে কিনা তা আপনি কীভাবে জানেন?
নরেন

53

আপনি যদি নির্দিষ্ট ভিডিও আইডির জন্য ইউটিউব থেকে সবচেয়ে বড় চিত্র চান তবে ইউআরএলটি এমন কিছু হওয়া উচিত:

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

এপিআই ব্যবহার করে, আপনি ডিফল্ট থাম্বনেইল চিত্র চয়ন করতে পারেন। সাধারণ কোডটি এমন কিছু হওয়া উচিত:

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

2
আমি একটি উদাহরণ পেয়েছি যেখানে 0.jpg এর রেজোলিউশন 480x360 রয়েছে, যখন ম্যাক্রেসডেফল্ট.জেপিজি 1280x720 রয়েছে
নিকো

45

আপনি যদি "ব্ল্যাক বারগুলি" থেকে মুক্তি পেতে এবং ইউটিউব যেমন এটি করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:

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

এবং আপনি যদি .webpফাইল এক্সটেনশন ব্যবহার করতে না পারেন তবে আপনি এটি এর মতো করতে পারেন:

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

এছাড়াও, যদি আপনার অনাবৃত সংস্করণ প্রয়োজন হয় তবে তার maxresdefaultপরিবর্তে ব্যবহার করুনmqdefault

দ্রষ্টব্য: আপনি যদি ব্যবহারের পরিকল্পনা করে থাকেন তবে অনুপাতের অনুপাত সম্পর্কে আমি নিশ্চিত নই maxresdefault


2
এটি অনেকগুলি ভিডিওর জন্য উপলভ্য নয়। উদাহরণস্বরূপ: i.ytimg.com/vi_webp/mJ8tq8AnNis/mqdefault.webp
নিকজি

2
@ নিকজি: আপনি যদি _webpএক্সটেনশানটি সরিয়ে এবং এতে পরিবর্তন করেন তবে এটি কাজ করে .jpg। কার্যকারী উদাহরণ: i.ytimg.com/vi/mJ8tq8AnNis/mqdefault.jpg , আমি অনুপাতের অনুপাত সম্পর্কে নিশ্চিত নই।
LuTz

34

আমি কেবল YouTube থেকে বিদ্যমান চিত্রগুলি আনার জন্য একটি ফাংশন তৈরি করেছি made

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

ইন YouTube ডেটা API v3 এর আপনার সাথে ভিডিওর থাম্বনেল পেতে পারেন videos-> তালিকা ফাংশন। স্নিপেট.থম্বনেইলস থেকে (কী) , আপনি ডিফল্ট, মাঝারি বা হাই রেজোলিউশনের থাম্বনেল বাছাই, এবং তার প্রস্থ, উচ্চতা এবং URL পেতে পারেন।

আপনি থাম্বনেইল-> সেট দিয়ে থাম্বনেইল আপডেট করতে পারেন কার্যকারিতা ।

উদাহরণস্বরূপ, আপনি ইউটিউব এপিআই নমুনা প্রকল্পটি দেখতে পারেন। ( পিএইচপি বেশী ।)


1
আমি অনুমান করি এটি করার সঠিক উপায় এটি যেহেতু এটি ইউটিউব
অ্যাপির

31

আপনি ভিডিও এন্ট্রি পেতে পারেন যাতে ভিডিওর থাম্বনেইলে URL থাকে। লিঙ্কে উদাহরণ কোড আছে। অথবা, আপনি যদি এক্সএমএল বিশ্লেষণ করতে চান তবে এখানে তথ্য রয়েছে । ফিরে আসা এক্সএমএলের একটি media:thumbnailউপাদান রয়েছে, এতে থাম্বনেইলের ইউআরএল রয়েছে।


2
আমি সিম্পল এক্সএমএল ব্যবহার করে এটি বের করতে অক্ষম। বেশ শক্ত!
আদিত্য এমপি

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

2
এটি একটি খারাপ সমাধান! ইউটিউব এপিআই ভি 3 ব্যবহার করবেন না কেন?
এমপग्नি

19

ইউটিউব গুগলের মালিকানাধীন এবং গুগল বিভিন্ন স্ক্রিন আকারের জন্য যুক্তিসঙ্গত সংখ্যক চিত্র রাখতে পছন্দ করে, তাই এর চিত্রগুলি বিভিন্ন আকারে সংরক্ষণ করা হয়। আপনার থাম্বনেইলটি কেমন হবে তার উদাহরণ এখানে রয়েছে:

নিম্নমানের থাম্বনেইল:

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

মাঝারি মানের থাম্বনেইল:

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

উচ্চ মানের থাম্বনেইল:

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

সর্বোচ্চ মানের থাম্বনেইল:

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

16

ইউটিউব এপিআই সংস্করণ 3 মিনিটে আপ এবং চলমান

আপনি যা করতে চান তা হ'ল ইউটিউব অনুসন্ধান করুন এবং সম্পর্কিত বৈশিষ্ট্যগুলি পান:

  1. একটি সর্বজনীন এপিআই পান - এই লিঙ্কটি একটি ভাল দিকনির্দেশ দেয়

  2. ক্যোয়ারী স্ট্রিংয়ের নীচে ব্যবহার করুন। ইউআরএল স্ট্রিংয়ে অনুসন্ধান ক্যোয়ারী ( q = দ্বারা চিহ্নিত ) উদাহরণস্বরূপ স্ট্যাকওভারফ্লো । ইউটিউব তারপরে আপনাকে একটি জেএসওএন জবাব পাঠিয়ে দেবে যেখানে আপনি তারপর থাম্বনেল, স্নিপেট, লেখক ইত্যাদির জন্য পার্স করতে পারেন can

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


16

আরেকটি ভাল বিকল্প হ'লএম্বেড ব্যবহার করা এপিআই যা ইউটিউব সমর্থিত।

আপনি কেবল আপনার ইউটিউব ইউআরএলকে ওয়েড ইউআরএল-এ যুক্ত করুন এবং আপনি এম্বেডের জন্য একটি থাম্বনেইল এবং এইচটিএমএল কোড সহ একটি জেএসওএন পাবেন।

উদাহরণ:

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

আপনাকে দেবে:

{
  "height":270,
  "width":480,
  "title":"example video for 2020",
  "thumbnail_width":480,
  "html":"...",
  "thumbnail_height":360,
  "version":"1.0",
  "provider_name":"YouTube",
  "author_url":"https:\/\/www.youtube.com\/channel\/UCza6VSQUzCON- AzlsrOLwaA",
  "thumbnail_url":"https:\/\/i.ytimg.com\/vi\/xUeJdWYdMmQ\/hqdefault.jpg",
  "author_name":"Pokics",
  "provider_url":"https:\/\/www.youtube.com\/",
  "type":"video"
}

আরও তথ্যের জন্য ডকুমেন্টেশন পড়ুন ।


15

ব্যবহার করুন:

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

উপরের লিঙ্কটি। এটি ব্যবহার করে, আপনি ভিডিওগুলির YouTube বৈশিষ্ট্যগুলি খুঁজে পেতে পারেন। বৈশিষ্ট্যগুলি সন্ধান করার পরে, আপনি নির্বাচিত বিভাগের ভিডিওগুলি পেতে পারেন। এরপরে আপনি আসফের উত্তরটি ব্যবহার করে নির্বাচিত ভিডিও চিত্রগুলি পেতে পারেন ।

উপরোক্ত পদ্ধতির চেষ্টা করে দেখুন এবং আপনি YouTube এপিআই থেকে সমস্ত কিছু পার্স করতে পারেন ।


14

আমি এইভাবে ইউটিউব থাম্বনেইল ব্যবহার করেছি:

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

মনে রাখবেন ইউটিউব সরাসরি তাদের সার্ভার থেকে চিত্রগুলি অন্তর্ভুক্ত করতে বাধা দেয়।


13

আমি এই নিফটি সরঞ্জামটি পেয়েছি যা আপনাকে চিত্রের উপরে রাখা ইউটিউব প্লে বোতাম দিয়ে চিত্রটি তৈরি করতে দেয়:


13

প্রদত্ত সমাধানগুলিতে কেবল যুক্ত করতে / প্রসারিত করার জন্য, আমি মনে করি যে এটি আমার মনে করা দরকার, যেহেতু আমি নিজেই এই সমস্যাটি পেয়েছিলাম, একজন আসলে এইচটিটিপি অনুরোধের সাথে একাধিক ইউটিউব ভিডিও সামগ্রী পেতে পারে, এক্ষেত্রে থাম্বনেইল:

এইচটিটিএফএফএল-র বিশ্রামের ক্লায়েন্ট ব্যবহার করে আপনি এরকম কিছু করতে পারেন:

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

?>

13

ইউটিউব ডেটা এপিআই

ইউটিউব ডেটা এপিআই (ভি 3) এর মাধ্যমে প্রতিটি ভিডিওর জন্য আমাদের চারটি উত্পন্ন চিত্র সরবরাহ করে, উদাহরণস্বরূপ,

  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

এপিআইয়ের মাধ্যমে চিত্রগুলিতে অ্যাক্সেস পাওয়া

  1. প্রথমে আপনার সর্বজনীন API কী পেতে গুগল API কনসোল
  2. এপিআই ডকুমেন্টেশনে ইউটিউবের থাম্বনেইল রেফারেন্স অনুসারে আপনাকে স্নিপেট.থামনেইলগুলিতে সংস্থানগুলি অ্যাক্সেস করতে হবে।
  3. এটি অনুসারে, আপনাকে আপনার ইউআরএলটির বাক্যাংশটি লিখতে হবে -

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

এখন আপনার ভিডিও আইডি এবং আপনার এপিআই কীটি আপনার সম্পর্কিত ভিডিও-আইডি এবং এপিআই-কীতে পরিবর্তন করুন এবং এর প্রতিক্রিয়া হ'ল জেএসওএন আউটপুট আপনাকে স্নিপেট ভেরিয়েবলের থাম্বনেইলে চারটি লিঙ্ক সরবরাহ করবে (যদি সমস্ত উপলব্ধ থাকে)।


13

আপনি পার্সে_আরল , পার্স_স্টার ব্যবহার করে ইউটিউব ভিডিও ইউআরএল থেকে ভিডিও আইডি পেতে পারেন এবং তারপরে চিত্রগুলির জন্য ভবিষ্যদ্বাণীমূলক url এ প্রবেশ করতে পারেন। ভবিষ্যদ্বাণীমূলক URL গুলির জন্য ইউটিউবকে ধন্যবাদ

$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/$ytID/maxresdefault.jpg";
print "https://img.youtube.com/vi/$ytID/mqdefault.jpg";
print "https://img.youtube.com/vi/$ytID/hqdefault.jpg";
print "https://img.youtube.com/vi/$ytID/sddefault.jpg";
print "https://img.youtube.com/vi/$ytID/default.jpg";

আপনি ইউটিউব থাম্বনেইল তৈরি করতে এই সরঞ্জামটি ব্যবহার করতে পারেন

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


11

আমি ইউটিউব থাম্বনেল এবং প্রকারের জন্য তৈরি একটি সহজ পিএইচপি ফাংশন

  • ডিফল্ট
  • 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

আপনি যদি সর্বজনীন এপিআই ব্যবহার করেন তবে এটি করার সর্বোত্তম উপায়টি হ'ল if স্টেটমেন্টগুলি।

ভিডিওটি যদি সর্বজনীন বা তালিকাভুক্ত থাকে তবে আপনি URL পদ্ধতিটি ব্যবহার করে থাম্বনেল সেট করেছেন set ভিডিওটি ব্যক্তিগত হলে আপনি থাম্বনেইল পেতে API ব্যবহার করুন।

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

8

আমি মনে করি এগুলি থাম্বনেইলের জন্য প্রচুর উত্তর, তবে ইউটিউব থাম্বনেইল খুব সহজেই পেতে আমি অন্য কয়েকটি ইউআরএল যুক্ত করতে চাই। আমি আসফের উত্তর থেকে কিছু পাঠ্য নিচ্ছি। ইউটিউব থাম্বনেইল পেতে এখানে কিছু URL আছে:

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

থাম্বনেইলের উচ্চ মানের সংস্করণের জন্য এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

থাম্বনেইলের একটি মাঝারি মানের সংস্করণও রয়েছে, উচ্চ মানের অনুরূপ URL ব্যবহার করে:

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

থাম্বনেইলের স্ট্যান্ডার্ড সংজ্ঞা সংস্করণের জন্য, এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

থাম্বনেইলের সর্বাধিক রেজোলিউশন সংস্করণের জন্য এর অনুরূপ URL টি ব্যবহার করুন:

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

ম্যানুয়াল ব্যবহারের জন্য সেরা উত্তর এখানে । বিভাজক ব্যতীত ভিডিও আইডি টোকেন একটি ডাবল ক্লিকের সাহায্যে নির্বাচন সক্ষম করে।

প্রতিটি ইউটিউব ভিডিওতে চারটি উত্পন্ন চিত্র রয়েছে। সেগুলি অনুমানযোগ্যভাবে নিম্নরূপে ফর্ম্যাট করা হয়েছে:

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

তালিকার প্রথমটি একটি সম্পূর্ণ আকারের চিত্র এবং অন্যেরা থাম্বনেইল চিত্র। ডিফল্ট থাম্বনেইল চিত্র (যেমন 1.jpg, এর মধ্যে একটি 2.jpg, 3.jpg):

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

থাম্বনেইলের উচ্চ মানের সংস্করণের জন্য এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

এইচকিউয়ের অনুরূপ ইউআরএল ব্যবহার করে থাম্বনেইলের একটি মাঝারি মানের সংস্করণও রয়েছে:

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

থাম্বনেইলের স্ট্যান্ডার্ড সংজ্ঞা সংস্করণের জন্য, এর অনুরূপ একটি ইউআরএল ব্যবহার করুন:

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

থাম্বনেইলের সর্বাধিক রেজোলিউশন সংস্করণের জন্য এর অনুরূপ URL টি ব্যবহার করুন:

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

উপরের সমস্ত URL গুলি HTTP- র মাধ্যমেও উপলব্ধ। অতিরিক্ত হিসাবে, সামান্য সংক্ষিপ্ত হোস্টনেম উপরের উদাহরণ URL i3.ytimg.comএর জায়গায় কাজ করে img.youtube.com

বিকল্পভাবে, আপনি থাম্বনেইল চিত্রগুলি পেতে YouTube ডেটা API (v3) ব্যবহার করতে পারেন ।


4

পদ্ধতি 1:

আপনি একটি জেএসওএন পৃষ্ঠার সাথে YouTube ভিডিওর সমস্ত তথ্য খুঁজে পেতে পারেন যা "থাম্বনেইল_আরল", http://www.youtube.com / এম্বেড ?format =json&url= has আপনার ভিডিও URL টি এখানে যায় with

চূড়ান্ত URL চেহারা + পিএইচপি পরীক্ষা কোড পছন্দ করুন

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

আউটপুট

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

বিশদগুলির জন্য, আপনি কীভাবে আইডি বা https://www.youtube.com/watch?v=mXde7q59BI8 ভিডিও টিউটোরিয়াল 1 ব্যবহার করে একটি ইউটিউব ভিডিও থাম্বনেইল পাবেন তা দেখতে পারেন

পদ্ধতি 2:

ইউটিউব চিত্রের লিঙ্কটি ব্যবহার করে https://img.youtube.com/vi/ "-োকান-ইউটিউব-ভিডিও-আইডি এখানে" /default.jpg

পদ্ধতি 3:

ভিডিও ইউআরএল লিঙ্কটি ব্যবহার করে থাম্বনেইল পাওয়ার জন্য ব্রাউজার উত্স কোড ব্যবহার করে ভিডিও উত্স কোডে লিংক দিন এবং থাম্বনেইলারের জন্য অনুসন্ধান করুন। এখন আপনি এই উত্স কোডটি আপনার উত্স কোডটিতে ব্যবহার করতে পারেন:

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

বিশদর জন্য আপনি কীভাবে আইডি বা https://www.youtube.com/watch?v=9f6E8MeM6PI ভিডিও টিউটোরিয়াল 2 ব্যবহার করে একটি ইউটিউব ভিডিও থাম্বনেইল পাবেন তা দেখতে পারেন


লিঙ্কগুলি https://www.youtube.com/watch?v=mXde7q59BI8এবং https://www.youtube.com/watch?v=9f6E8MeM6PI(কার্যকরভাবে) নষ্ট হয়ে গেছে।
পিটার মর্টেনসেন

ইউটিউব এই নীতিগুলির কারণে এই ভিডিওটিকে নিষিদ্ধ করেছে আমি আশা করি এই নিবন্ধটি আপনাকে সহায়তা করবে www.hzonesp.com/php/get-youtube-video-thumbnail-using-id/
হাসান

3

ব্যবহার img.youtube.com/vi/YouTubeID/ImageFormat.jpg

এখানে চিত্রের ফর্ম্যাটগুলি ডিফল্ট, এইচকেডেফল্ট, ম্যাক্রেসডেফল্টের মতো আলাদা।


2

এটি আমার ক্লায়েন্টের পাশের কোনও-এপিআই-কী-প্রয়োজনীয় সমাধান নয়।

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

কোড:

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`

ইউটিলিটি 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
    })
}

ইউটিলিটি 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
    },
    {})
}

1

থাম্বনেইল পাওয়ার জন্য তৈরি করা একটি সাধারণ ফাংশন এখানে। এটি বোঝা এবং ব্যবহার করা সহজ।

$ লিঙ্কটি হ'ল ইউটিউব লিঙ্কটি ব্রাউজারে যেমন রয়েছে তেমনই অনুলিপি করা হয়েছে, উদাহরণস্বরূপ, 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;
}

এটি কেবল তখনই কার্যকর হয় যখন ইউআরএলটির কোনও কোয়েরি প্যারামিটার না থাকে।
মা কোবি

হ্যাঁ, সমস্ত ইউটিউব ভিডিও দেখার সময় ফর্ম্যাটটি অনুসরণ করে, আপনি ব্রাউজার থেকে লিঙ্কটি অনুলিপি করতে পারেন
সাদরুলদিন মুস্তাফা

আপনার যদি অন্য প্যারামিটারের মতো থাকে &t=227s?
মা কোবি

1
আমি আপনার বক্তব্যটি বুঝতে পারি, তবে মানক ইউটিউব ভিডিওগুলি অন্যান্য পরামিতি ছাড়াই আসে তবে যখন প্রয়োজন দেখা দেয়, আপনি ফাংশনের প্রথম লাইনের আগে লিঙ্কটি ফিল্টার করতে পারেন। প্রয়োজনীয়তা বাদে অন্য যে কোনও জিনিস এটি উপেক্ষা করে তা নিশ্চিত করতে আপনার কি লিঙ্কটি ফিল্টার করতে সহায়তা দরকার?
সোদ্রুলদিন মোস্তফা

1

এই কোডটি খালি। Php ফাইলে সংরক্ষণ করুন এবং এটি পরীক্ষা করুন।

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

ধন্যবাদ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.