Vimeo থেকে img থাম্বনেইল পাবেন?


308

আমি ভিমেও থেকে ভিডিওগুলির জন্য একটি থাম্বনেইল চিত্র পেতে চাই।

ইউটিউব থেকে ছবি পাওয়ার সময় আমি ঠিক এটি করি:

http://img.youtube.com/vi/HwP5NG-3e8I/2.jpg

ভিমেওর জন্য কীভাবে করবেন?

এখানে কোনও উত্তর না দিয়ে একই প্রশ্ন।


3
এই ছবিগুলি আপনার সাইটে ব্যবহার করা আপনার পক্ষে আইনী কিনা আপনি কি পরীক্ষা করে দেখেছেন? যদি তা না হয় তবে এটি শুরু করার একটি মূল বিষয়।
লোথার

12
হ্যাঁ, এটি আইনী - উভয় ওয়েবসাইটই এই বিবরণটি একটি জনসাধারণ্যে উপস্থাপন করে, কারণ তারা আপনাকে তাদের সামগ্রী ব্যবহার করতে চায়! সমস্ত এম্বেড করা ভিডিও সর্বোপরি হোস্টিং সাইটে লিঙ্ক করে।
ম্যাগনাস স্মিথ

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

এই উত্তরটি ব্যবহার করে দেখুন: stackoverflow.com/a/17156853/146602 - কেবলমাত্র ইউআরএল থাকা কোনও ভিমেও ভিডিও সম্পর্কে তথ্য / ডেটা ধরা খুব সহজ করে তোলে।
ফির্সাইবার

1
i.vimeocdn.com/video/528073804_200x200.webp এইভাবে আপনি ভিডিও চিত্র পেতে পারেন
পুস

উত্তর:


361

থেকে Vimeo সহজ এপিআই ডক্স :

একটি ভিডিও অনুরোধ করা

একটি নির্দিষ্ট ভিডিও সম্পর্কে ডেটা পেতে, নিম্নলিখিত url ব্যবহার করুন:

http://vimeo.com/api/v2/video/video_id.output

video_id আপনি যে ভিডিওটির তথ্য চান তার আইডি।

আউটপুট আউটপুট ধরণ উল্লেখ করুন। আমরা বর্তমানে জেএসএন, পিএইচপি, এবং এক্সএমএল ফর্ম্যাটগুলি সরবরাহ করি।

সুতরাং এই URL টি পেতে http://vimeo.com/api/v2/video/6271487.xml

    <videos> 
      <video> 
        [skipped]
        <thumbnail_small>http://ts.vimeo.com.s3.amazonaws.com/235/662/23566238_100.jpg</thumbnail_small> 
        <thumbnail_medium>http://ts.vimeo.com.s3.amazonaws.com/235/662/23566238_200.jpg</thumbnail_medium> 
        <thumbnail_large>http://ts.vimeo.com.s3.amazonaws.com/235/662/23566238_640.jpg</thumbnail_large> 
        [skipped]
    </videos>

থাম্বনেইল পেতে প্রতিটি ভিডিওর জন্য এটি পার্স করুন

এখানে পিএইচপি-তে আনুমানিক কোড

<?php

$imgid = 6271487;

$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$imgid.php"));

echo $hash[0]['thumbnail_medium'];  

ঠিক আছে চমৎকার. xmlযদিও আমি এর সাথে পরিচিত নই । আমি কিভাবে পেতে পারেন thumbnail_smallসঙ্গে php?
জোহান

পিএইচপি দিয়ে এটি পেতে প্রথমে পিএইচপি এক্সটেনশনটি ইউআরএল যেমন vimeo.com/api/v2/video/6271487.php ব্যবহার করুন , আপনাকে একটি ফাইল সরবরাহ করা হবে, যার প্রথম লাইনটি সিরিয়ালযুক্ত পিএইচপি হ্যাশ বলে মনে হচ্ছে, আনসিরিয়ালাইজ করুন এবং তারপরে আপনার
পছন্দসই

1
ধন্যবাদ, ইউআরএল ভাল কাজ করে। এছাড়াও, উপরের এপিআই কাজ করে না তাই এটি সম্পর্কে পড়তে vimeo.com/api এ যান ।
ফেডমিচ

5
আপনি চিত্রের আকার এবং চিত্রের ফাইলের ধরণও পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, যদি আপনি ডিফল্ট পরিবর্তন করতে পারেন thumbnail_largeথেকে i.vimeocdn.com/video/23566238_640.webp করার i.vimeocdn.com/video/23566238_640.png বা i.vimeocdn.com/video/23566238_320.jpg
মাইকেল McGinnis

28
এপিআই মারা গেছে বলে এই উত্তর আর কার্যকর হবে না
KnF

58

জাভাস্ক্রিপ্টে (jQuery ব্যবহার করে):

function vimeoLoadingThumb(id){    
    var url = "http://vimeo.com/api/v2/video/" + id + ".json?callback=showThumb";

    var id_img = "#vimeo-" + id;

    var script = document.createElement( 'script' );
    script.src = url;

    $(id_img).before(script);
}


function showThumb(data){
    var id_img = "#vimeo-" + data[0].id;
    $(id_img).attr('src',data[0].thumbnail_medium);
}

এটি প্রদর্শন করতে:

<img id="vimeo-{{ video.id_video }}" src="" alt="{{ video.title }}" />
<script type="text/javascript">
  vimeoLoadingThumb({{ video.id_video }});
</script>

এই জন্য আপনাকে অনেক ধন্যবাদ, খুব সহায়ক। আমি মনে করি একটি খুব ছোট টাইপ আছে। আপনি id_img ভেরিয়েবলগুলিতে # ব্যবহার করেন তবে img উপাদান আইডিতে # পান নি। আপনার উদাহরণটি কি jQuery এর ব্যবহারও ধরে নিয়েছে? আমি swopped $(id_img).beforeএবং $(id_img).attrজন্য createElementএবং একটি আরো মৌলিক getElementById(id_img).src, কিন্তু সব সময়ে এটা পেয়েছিলাম হতো না যদি এটা আপনার উদাহরণস্বরূপ ছিল না।
পরমাণুগুলি

3
# প্রশ্নটি হল জিকুয়ের সিনট্যাক্স কোনও বাগ নয়। হ্যাঁ এটি JQuery এর ব্যবহার অনুমান করে।
নাতিম

আহ, ঠিক আছে। স্পষ্টতার জন্য ধন্যবাদ। আমি প্রায়শই JQuery ব্যবহার করি না, তবে উত্তরটি এখনও আমার পক্ষে সত্যই কার্যকর ছিল।
পরমাণু

1
এটি একই কোডের জন্য পরীক্ষামূলক জেসফিডাল: jsfiddle.net/archatas/Tv7GZ
আইডাস বেনডোরাইটিস

ধন্যবাদ @ আইডাসবেনডোরাইটিস
নাটিমে

45

আপনার ভিউমির এপিআই'র প্রতিক্রিয়া পার্স করা উচিত। ইউআরএল কলগুলির সাথে এটির কোনও উপায় নেই (যেমন ডেইলিমোশন বা ইউটিউব)।

এখানে আমার পিএইচপি সমাধান:

/**
 * Gets a vimeo thumbnail url
 * @param mixed $id A vimeo id (ie. 1185346)
 * @return thumbnail's url
*/
function getVimeoThumb($id) {
    $data = file_get_contents("http://vimeo.com/api/v2/video/$id.json");
    $data = json_decode($data);
    return $data[0]->thumbnail_medium;
}

3
এই জন্য আপনাকে ধন্যবাদ. এটি আমার প্রিয় সমাধান ছিল।
বুলিয়ান

44

JQuery jsonp অনুরোধ ব্যবহার করে:

<script type="text/javascript">
    $.ajax({
        type:'GET',
        url: 'http://vimeo.com/api/v2/video/' + video_id + '.json',
        jsonp: 'callback',
        dataType: 'jsonp',
        success: function(data){
            var thumbnail_src = data[0].thumbnail_large;
            $('#thumb_wrapper').append('<img src="' + thumbnail_src + '"/>');
        }
    });
</script>

<div id="thumb_wrapper"></div>

1
আমি এটি ব্যবহার করতে চাই ... তবে আমার যদি কোনও পৃষ্ঠায় একাধিক ভিডিও থাকে তবে কী হবে? আইডি পাসের কোনও উপায় কল? আদর্শভাবে আমি এর মতো কিছু ব্যবহার করতে চাই <div id='12345678' class='vimeo_thumb'></div>- এবং এটি থাম্বনেইল ইমগ দিয়ে পূর্ণ হবে।
ড্যান

4
পদ্ধতি কলটি সংক্ষিপ্ত করে দেওয়া যেতে পারে$.getJSON('http://vimeo.com/api/v2/video/' + video_id + '.json?callback=?', function (data) {...
সংঘুন লী

22

রুবি দিয়ে আপনি নিম্নলিখিতটি করতে পারেন, যদি বলুন:

url                      = "http://www.vimeo.com/7592893"
vimeo_video_id           = url.scan(/vimeo.com\/(\d+)\/?/).flatten.to_s               # extract the video id
vimeo_video_json_url     = "http://vimeo.com/api/v2/video/%s.json" % vimeo_video_id   # API call

# Parse the JSON and extract the thumbnail_large url
thumbnail_image_location = JSON.parse(open(vimeo_video_json_url).read).first['thumbnail_large'] rescue nil

2
দ্রষ্টব্য: আপনার require 'open-uri'ইউআরআই এর পাশাপাশি ফাইলগুলি পার্স করার জন্য উন্মুক্ত অনুমতি দেওয়ার প্রয়োজন হতে পারে ।
ক্রিস

ভিওমিও আইডি পেতে আমাকে url.scan (/vimeo.com \ / (\ d +) \ /? /)। ফ্ল্যাটেন.টো_স.ডিলেট ("^ 0-9।") যোগ করতে হয়েছিল #
আব্রাম

21

সিএস ব্যবহার করে কীভাবে একই জিনিস এএসপি ডটনেটে করা যায় তার একটি উদাহরণ এখানে। একটি পৃথক ত্রুটি ধরা চিত্র ব্যবহার করতে নির্দ্বিধায় :)

public string GetVimeoPreviewImage(string vimeoURL)
{
    try
    {
        string vimeoUrl = System.Web.HttpContext.Current.Server.HtmlEncode(vimeoURL);
        int pos = vimeoUrl.LastIndexOf(".com");
        string videoID = vimeoUrl.Substring(pos + 4, 8);

        XmlDocument doc = new XmlDocument();
        doc.Load("http://vimeo.com/api/v2/video/" + videoID + ".xml");
        XmlElement root = doc.DocumentElement;
        string vimeoThumb = root.FirstChild.SelectSingleNode("thumbnail_medium").ChildNodes[0].Value;
        string imageURL = vimeoThumb;
        return imageURL;
    }
    catch
    {
        //cat with cheese on it's face fail
        return "http://bestofepicfail.com/wp-content/uploads/2008/08/cheese_fail.jpg";
    }
}

দ্রষ্টব্য: অনুরোধ করা হলে আপনার এপিআই অনুরোধটি পছন্দ করতে হবে: http://vimeo.com/api/v2/video/32660708.xML


দুর্দান্ত, তবে এপিআই লিঙ্কটি কেবল আইমির সামনে vimeo.com/api/v2/video/video_id.xML "ভিডিও" নয়।
মার্টিন

এই কোডটি নীচে ছোট করে দেওয়া হয়েছে, এবং পূর্ণ ইউআরএলের পরিবর্তে একটি ভিমেও আইডি গ্রহণ করতে পেরাম পরিবর্তন করেছে। (কোড ব্লকটি কীভাবে public static string GetVimeoPreviewImage(string id) { try { XmlDocument doc = new XmlDocument(); doc.Load("http://vimeo.com/api/v2/video/" + id + ".xml"); return doc.DocumentElement.FirstChild.SelectSingleNode("thumbnail_medium").ChildNodes[0].Value; } catch { return string.Empty; } }
বহির্মুখী

14

থাম্বনেইলটি খুঁজে পাওয়ার সবচেয়ে সহজ জাভাস্ক্রিপ্ট উপায়, ভিডিও আইডি অনুসন্ধান না করে ব্যবহার করা হচ্ছে:

//Get the video thumbnail via Ajax
$.ajax({
    type:'GET',
    url: 'https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(url),
    dataType: 'json',
    success: function(data) {
        console.log(data.thumbnail_url);
    }
});

দ্রষ্টব্য: কারও যদি ভিডিও আইডির সাথে সম্পর্কিত ভিডিও থাম্বনেলটি পেতে হয় তবে সে ভিডিও আইডি $idদিয়ে প্রতিস্থাপন করতে পারে এবং ভিডিও বিশদ সহ একটি এক্সএমএল পেতে পারে:

http://vimeo.com/api/v2/video/$id.xml

উদাহরণ:

http://vimeo.com/api/v2/video/198340486.xml

সূত্র


2
ভিমিও ভি 2 এপিআই ছাড়িয়েছে বলে এটি সত্যিই সেরা উত্তর। ও এম্বেডের প্রমাণীকরণের প্রয়োজন হয় না এবং থাম্বনেইল ইউআরএলযুক্ত একটি জেএসএন / এক্সএমএল প্রতিক্রিয়া প্রদান করে। বিকাশকারী.ভিমিও
অ্যাপিস

1
রায় আইডি দ্বারা একটি নির্দিষ্ট ভিডিও সন্ধান করার জন্য আমরা কীভাবে এই এজ্যাক্স কলটি ব্যবহার করব?
ক্লিভিস

@ ব্ল্যাকহক আমি করি না, তবে আমি এখনই এটি গুগল করেছি এবং আপনার জন্য কিছু খুঁজে পেয়েছি, কেবল আপনার সাথে ভিডিও_আইডি প্রতিস্থাপন করুন $idএবং আপনি ভিডিওর বিশদ সহ একটি এক্সএমএল পাবেন (থাম্বনেইল অন্তর্ভুক্ত)। http://vimeo.com/api/v2/video/$id.xml। উদাহরণস্বরূপ: http://vimeo.com/api/v2/video/198340486.xml। উত্স এখানে: coderwall.com/p/fdrdmg/get-a-thumbnail-from-a-vimeo-video
রায় শোয়া

@ ব্ল্যাকহক আমি আমার উত্তরটি সম্পাদনা করছি, আপনি এটি এখন দেখতে পারেন। ধন্যবাদ!
রায় শোয়া

11

আপনি যদি খাঁটি জেএস / জ্যাকিউরি নো এপি মাধ্যমে থ্রুমনেল ব্যবহার করতে চান, আপনি ভিডিও এবং ভয়েলা থেকে কোনও ফ্রেম ক্যাপচার করতে এই সরঞ্জামটি ব্যবহার করতে পারেন! ইউআরএল থাম্বটি Inোকান যা আপনার পছন্দসই উত্স।

এখানে একটি কোড পেন:

http://codepen.io/alphalink/pen/epwZpJ

<img src="https://i.vimeocdn.com/video/531141496_640.jpg"` alt="" />

থাম্বনেল পেতে সাইটটি এখানে:

http://video.depone.eu/


1
@ ব্ল্যাকহক সাইটটি ব্যাক আপ হয়েছে।
আলফাপিলগ্রিম

দেখে মনে হচ্ছে এটি একটি এলোমেলো ফ্রেম পেয়েছে, ভিডিও নির্মাতা নির্বাচন করেছেন এমন অফিশিয়াল কভার / থাম্বনেইল নয়। এটি বিদ্যমান তা জানতে পেরে দুর্দান্ত, তবে আমি মনে করি আমি API json পার্স পদ্ধতিটি ব্যবহার করব কারণ এর সাথে জিনিসগুলির ভিমো দিক থেকে কভার আর্টের কোনও নিয়ন্ত্রণ নেই।
স্কয়ারকাণ্ডি

9

ভিমেও ইউআরএল ( https://player.vimeo.com/video/30572181 ) ব্যবহার করে , এখানে আমার উদাহরণ

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <title>Vimeo</title>
</head>
<body>
    <div>
        <img src="" id="thumbImg">
    </div>
    <script>
        $(document).ready(function () {
            var vimeoVideoUrl = 'https://player.vimeo.com/video/30572181';
            var match = /vimeo.*\/(\d+)/i.exec(vimeoVideoUrl);
            if (match) {
                var vimeoVideoID = match[1];
                $.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=?', { format: "json" }, function (data) {
                    featuredImg = data[0].thumbnail_large;
                    $('#thumbImg').attr("src", featuredImg);
                });
            }
        });
    </script>
</body>
</html>


তুমিই শ্রেষ্ঠ.
আলেকজান্ডার কাজাকভ

7

দেখে মনে হচ্ছে এপি / ভি 2 মারা গেছে।
অর্ডার নতুন API ব্যবহার করার জন্য, আপনি প্রয়োজন আপনার আবেদন রেজিস্টার করো , এবং করুন Base64- এনকোড client_idএবং client_secretএকটি অনুমোদন হেডার হিসাবে।

$.ajax({
    type:'GET',
    url: 'https://api.vimeo.com/videos/' + video_id,
    dataType: 'json',
    headers: {
        'Authorization': 'Basic ' + window.btoa(client_id + ":" + client_secret);
    },
    success: function(data) {
        var thumbnail_src = data.pictures.sizes[2].link;
        $('#thumbImg').attr('src', thumbnail_src);
    }
});

সুরক্ষার জন্য, আপনি সার্ভার থেকে ইতিমধ্যে client_idএবং client_secretএনকোড থাকা ফিরে আসতে পারেন ।


1
বেস 64 হ্যাশ নয়। ক্লায়েন্টের পাশের এনকোডিংয়ের উপরে সার্ভারে আপনার ডেটা বেস 64-এনকোডিংয়ের মতো "সুরক্ষিত" আর কিছুই নেই। এটি বলেছিল, এটি সম্ভবত কিছুটা দ্রুত।
সুমুরাই

7

এটি এটি করার একটি চতুর কৌশল এবং কাস্টম আকার বাছাই করার একটি উপায় to

আমি এখানে যাই:

http://vimeo.com/api/v2/video/[VIDEO ID].php

ফাইলটি ডাউনলোড করুন, এটি খুলুন এবং 40৪০ পিক্সেল প্রশস্ত থাম্বনেইল সন্ধান করুন এটির মতো ফর্ম্যাট থাকবে:

https://i.vimeocdn.com/video/[LONG NUMBER HERE]_640.jpg

আপনি লিঙ্কটি ধরেন, 640 এর জন্য পরিবর্তন করুন - উদাহরণস্বরূপ - 1400 এবং আপনি এরকম কিছু দিয়ে শেষ করেছেন:

https://i.vimeocdn.com/video/[LONG NUMBER HERE]_1400.jpg

এটি আপনার ব্রাউজার অনুসন্ধান বারে আটকান এবং উপভোগ করুন।

চিয়ার্স,


এই পদ্ধতিটি কাজ করে না। VIDEO_ID পাওয়া যায়নি এমন একটি পিএইচপি ফাইল ফেরত দেয়।
stldoug

5
function parseVideo(url) {
    // - Supported YouTube URL formats:
    //   - http://www.youtube.com/watch?v=My2FRPA3Gf8
    //   - http://youtu.be/My2FRPA3Gf8
    //   - https://youtube.googleapis.com/v/My2FRPA3Gf8
    // - Supported Vimeo URL formats:
    //   - http://vimeo.com/25451551
    //   - http://player.vimeo.com/video/25451551
    // - Also supports relative URLs:
    //   - //player.vimeo.com/video/25451551

    url.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);

    if (RegExp.$3.indexOf('youtu') > -1) {
        var type = 'youtube';
    } else if (RegExp.$3.indexOf('vimeo') > -1) {
        var type = 'vimeo';
    }

    return {
        type: type,
        id: RegExp.$6
    };
}

function getVideoThumbnail(url, cb) {
    var videoObj = parseVideo(url);
    if (videoObj.type == 'youtube') {
        cb('//img.youtube.com/vi/' + videoObj.id + '/maxresdefault.jpg');
    } else if (videoObj.type == 'vimeo') {
        $.get('http://vimeo.com/api/v2/video/' + videoObj.id + '.json', function(data) {
            cb(data[0].thumbnail_large);
        });
    }
}

4

আসলে যে ছেলেটি এই প্রশ্নটি করেছিল সে তার নিজের উত্তর পোস্ট করেছিল।

"ভিওমো মনে করে যে আমি এইচটিটিপি অনুরোধ করব এবং তারা ফিরে আসা এক্সএমএল থেকে থাম্বনেইল ইউআরএল বের করবে ..."

ভিমেও এপিআই ডক্স এখানে রয়েছে: http://vimeo.com/api/docs/simple-api

সংক্ষেপে, আপনার অ্যাপ্লিকেশনটির নীচের মত একটি URL এ একটি জিইটি অনুরোধ করা প্রয়োজন:

http://vimeo.com/api/v2/video/video_id.output

এবং আপনার প্রয়োজনীয় থাম্বনেইল ইউআরএল পেতে ফেরত ডেটা পার্স করুন, তারপরে সেই URL এ ফাইলটি ডাউনলোড করুন।


4

আমি পিএইচপি-তে একটি ফাংশন লিখেছি যাতে এটি আমার কাছে যায়, আমি আশা করি এটি কারওর জন্য কার্যকর। থাম্বনেইলে যাওয়ার পথটি ভিডিও পৃষ্ঠায় একটি লিঙ্ক ট্যাগের মধ্যে রয়েছে। এটি আমার জন্য কৌশলটি বলে মনে হচ্ছে।

    $video_url = "http://vimeo.com/7811853"  
    $file = fopen($video_url, "r");
    $filedata = stream_get_contents($file);
    $html_content = strpos($filedata,"<link rel=\"videothumbnail");
    $link_string = substr($filedata, $html_content, 128);
    $video_id_array = explode("\"", $link_string);
    $thumbnail_url = $video_id_array[3];
    echo $thumbnail_url;

আশা করি এটি যে কাউকে সাহায্য করবে।

Foggson


4
function getVimeoInfo($link)
 {
    if (preg_match('~^http://(?:www\.)?vimeo\.com/(?:clip:)?(\d+)~', $link, $match)) 
    {
        $id = $match[1];
    }
    else
    {
        $id = substr($link,10,strlen($link));
    }

    if (!function_exists('curl_init')) die('CURL is not installed!');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://vimeo.com/api/v2/video/$id.php");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $output = unserialize(curl_exec($ch));
    $output = $output[0];
    curl_close($ch);
    return $output;
}`

// নীচে ফাংশন থাম্বনেল ইউআরএল পাস।

function save_image_local($thumbnail_url)
    {

         //for save image at local server
         $filename = time().'_hbk.jpg';
         $fullpath = '../../app/webroot/img/videos/image/'.$filename;

         file_put_contents ($fullpath,file_get_contents($thumbnail_url));

        return $filename;
    }

4

কার্তিকেইন পি এর উত্তরটি দ্রবীভূত করছে যাতে এটি দৃশ্যের বিস্তৃত বিন্যাসে ব্যবহার করা যেতে পারে:

// Requires jQuery

function parseVimeoIdFromUrl(vimeoUrl) {
  var match = /vimeo.*\/(\d+)/i.exec(vimeoUrl);
  if (match)
    return match[1];

  return null;
};

function getVimeoThumbUrl(vimeoId) {
  var deferred = $.Deferred();
  $.ajax(
    '//www.vimeo.com/api/v2/video/' + vimeoId + '.json',
    {
        dataType: 'jsonp',
        cache: true
    }
  )
  .done(function (data) {
    // .thumbnail_small 100x75
    // .thumbnail_medium 200x150
    // 640 wide
        var img = data[0].thumbnail_large;
        deferred.resolve(img);  
    })
  .fail(function(a, b, c) {
    deferred.reject(a, b, c);
  });
  return deferred;
};

ব্যবহার

একটি ভিমেও ভিডিও URL থেকে একটি ভিমেও আইডি পান:

var vimeoId = parseVimeoIdFromUrl(vimeoUrl);

একটি ভিমেও আইডি থেকে একটি ভিমেও থাম্বনেইল URL পান:

getVimeoThumbUrl(vimeoIds[0])
.done(function(img) {
    $('div').append('<img src="' + img + '"/>');
});

https://jsfiddle.net/b9chris/nm8L8cc8/1/


4

হালনাগাদ: এই সমাধানটি ডিসেম্বর 2018 পর্যন্ত কাজ করা বন্ধ করে দিয়েছে।

আমি একই জিনিসটির সন্ধান করছিলাম এবং দেখে মনে হচ্ছে যে এখানে বেশিরভাগ উত্তরগুলি পুরানো হয়ে গেছে কারণ ভিমেও এপিআই ভি 2 অবমূল্যায়নের কারণে।

আমার পিএইচপি 2 ¢:

$vidID     = 12345 // Vimeo Video ID
$tnLink = json_decode(file_get_contents('https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/' . $vidID))->thumbnail_url;

উপরের সাহায্যে আপনি ভিমেও ডিফল্ট থাম্বনেইল চিত্রের লিঙ্কটি পাবেন।

আপনি যদি বিভিন্ন আকারের চিত্র ব্যবহার করতে চান তবে আপনি এর মতো কিছু যুক্ত করতে পারেন:

$tnLink = substr($tnLink, strrpos($tnLink, '/') + 1);
$tnLink = substr($tnLink, 0, strrpos($tnLink, '_')); // You now have the thumbnail ID, which is different from Video ID

// And you can use it with link to one of the sizes of crunched by Vimeo thumbnail image, for example:
$tnLink = 'https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F' . $tnLink    . '_1280x720.jpg&src1=https%3A%2F%2Ff.vimeocdn.com%2Fimages_v6%2Fshare%2Fplay_icon_overlay.png';

দয়া করে আপনি আমাকে কোনও আনুষ্ঠানিক ঘোষণার লিঙ্কে সহায়তা করতে পারেন যেখানে উল্লেখ করা হয়েছে যে ভি 2 ভিমেও অবমূল্যায়ন করা হয়েছে।
দীপক যাদব

3

আপনার যদি অটোমেটেড সমাধানের প্রয়োজন না হয় তবে আপনি ভিউমো আইডি এখানে প্রবেশ করে থাম্বনেইল URL খুঁজে পাবেন: http://video.depone.eu/


উপরের এই পৃষ্ঠায় ঠিক এর মতো আরও একটি উত্তর রয়েছে।
বর্ণমালা

2

আমি একটি কোডপেন তৈরি করেছি যা আপনার জন্য চিত্রগুলি আনবে।

https://codepen.io/isramv/pen/gOpabXg

এইচটিএমএল

<input type="text" id="vimeoid" placeholder="257314493" value="257314493">
<button id="getVideo">Get Video</button>
<div id="output"></div>

javascript:

const videoIdInput = document.getElementById('vimeoid');
const getVideo = document.getElementById('getVideo');
const output = document.getElementById('output');

function getVideoThumbnails(videoid) {
  fetch(`https://vimeo.com/api/v2/video/${videoid}.json`)
  .then(response => {
    return response.text();
  })
  .then(data => {
    const { thumbnail_large, thumbnail_medium, thumbnail_small } = JSON.parse(data)[0];
    const small = `<img src="${thumbnail_small}"/>`;
    const medium = `<img src="${thumbnail_medium}"/>`;
    const large = `<img src="${thumbnail_large}"/>`;
    output.innerHTML = small + medium + large;
  })
  .catch(error => {
    console.log(error);
  });
}

getVideo.addEventListener('click', e => {
  if (!isNaN(videoIdInput.value)) {
    getVideoThumbnails(videoIdInput.value);
  }
});

এখানে চিত্র বর্ণনা লিখুন


1

আপনি যদি কোনও বিকল্প সমাধান খুঁজছেন এবং ভিওমো অ্যাকাউন্ট পরিচালনা করতে পারেন অন্য উপায়, আপনি কেবল অ্যালবামে দেখাতে চান এমন প্রতিটি ভিডিও যুক্ত করুন এবং তারপরে অ্যালবামের বিশদটি অনুরোধ করার জন্য API ব্যবহার করুন - এটি সমস্ত থাম্বনেইল এবং লিঙ্কগুলি দেখায় । এটি আদর্শ নয় তবে সাহায্য করতে পারে।

এপিআই শেষ পয়েন্ট (খেলার মাঠ)

@Vimeoapi এর সাথে টুইটার কনভো


এটি সম্ভবত সবচেয়ে কার্যকর উপায় নয়, বিশেষত যদি (1) আপনার কোডের বাকী অংশ ভিওআইপি এপিআইয়ের উপর নির্ভর করে না এবং (২) আপনার ভাল লাগছে যে আপনার এপিআই কলগুলি ভিমিওর চেয়ে বেশি যেতে পারে একটি সীমা হিসাবে সেট করুন।
ক্লিভিস

@ ব্ল্যাকহাক আপনি আমার কথাটি মিস করেছেন এটি বিকল্প। আপনি যদি এটি করেন তবে আপনার সমস্ত ভিডিও একক এপিআই কল এ আছে। উদাহরণস্বরূপ আপনি সেই সার্ভারের পাশটি ক্যাশে করতে পারেন।
সিডোনাল্ডসন

1

আপনি ম্যাট হুকসের রত্নটি একবার দেখে নিতে পারেন। https://github.com/matthooks/vimeo

এটি এপিআইয়ের জন্য একটি সহজ ভিমেও র‌্যাপার সরবরাহ করে।

আপনার যা যা দরকার তা হ'ল ভিডিও_আইডি (এবং সরবরাহকারী যদি আপনি অন্যান্য ভিডিও সাইটগুলিও করেন তবে) সঞ্চয় করতে হবে

আপনি যেমন ভিমেও ভিডিও আইডি বের করতে পারেন

def 
  get_vimeo_video_id (link)
        vimeo_video_id = nil
        vimeo_regex  = /http:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/
        vimeo_match = vimeo_regex.match(link)


if vimeo_match.nil?
  vimeo_regex  = /http:\/\/player.vimeo.com\/video\/([a-z0-9-]+)/
  vimeo_match = vimeo_regex.match(link)
end

    vimeo_video_id = vimeo_match[2] unless vimeo_match.nil?
    return vimeo_video_id
  end

এবং আপনার যদি আপনার নল প্রয়োজন হয় তবে আপনি এই দরকারী দেখতে পাবেন

def
 get_youtube_video_id (link)
    youtube_video_id = nil
    youtube_regex  = /^(https?:\/\/)?(www\.)?youtu.be\/([A-Za-z0-9._%-]*)(\&\S+)?/
    youtube_match = youtube_regex.match(link)

if youtube_match.nil?
  youtubecom_regex  = /^(https?:\/\/)?(www\.)?youtube.com\/watch\?v=([A-Za-z0-9._%-]*)(\&\S+)?/
  youtube_match = youtubecom_regex.match(link)
end

youtube_video_id = youtube_match[3] unless youtube_match.nil?
return youtube_video_id
end

0

যারা এখনও ইউটিউবের মতো থাম্বনেইলটি পেতে কেবল ইউটিউবের মতো একটি উপায় চান, কেবল একটি বিল্ট একটি ছোট অ্যাপ্লিকেশন যা এটি কেবল ভিমেও আইডি দিয়ে এনেছে।

https://vumbnail.now.sh/358629078.jpg

আপনার ভিডিও আইডিটি কেবল প্লাগ ইন করুন এবং এটি এটি টানতে এবং 24 ঘন্টা এটি ক্যাশে করবে যাতে এটি দ্রুত পরিবেশন করে।

আপনি যদি নিজের মতো করে ঘুরে দেখতে চান তবে আপনি এখানে এটি করতে পারেন ।

রেপো


-3

আমার মতো কারও জন্য যারা সম্প্রতি এটি বের করার চেষ্টা করছে,

https://i.vimeocdn.com/video/[video_id]_[dimension].webp আমার জন্য কাজ কর.

(যেখানে dimension= 200x150 | 640)


1
ভাল লাগছে। এটি সত্যিই পরিষ্কার।
বেন হ্যারিসন

আইওএসে সাফারি বাদে দুর্দান্ত ওয়েবপটি প্রদর্শন করে না
গ্রেগরি

9
এটি ভুল বলে মনে হচ্ছে - আমি এমন একটি ছবি পেয়েছি যার আসল ভিডিওটির সাথে কোনও সম্পর্ক নেই। থাম্ব ইউআরএল ব্যবহৃত আইডি ভিডিও আইডি থেকে পৃথক - আপনি যদি এপিকে কল করেন তবে বিভিন্ন url সহ এই url পাবেন। এপিকে ফোন করা থেকে কোনও শর্টকাট নেই।
মর্টেন হল্মগার্ড

12
এটি কাজ করে না, ভিডিও_আইডি এবং চিত্র_আইডি এক নয়। সুতরাং আপনি এমন একটি চিত্র পাবেন যা আপনি অনুরোধ করা ভিডিওর সাথে সম্পর্কিত নয়
নিকোলাস আজরাক

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