Vimeo से img थंबनेल प्राप्त करें?


308

मैं Vimeo से वीडियो के लिए एक थंबनेल छवि प्राप्त करना चाहता हूं।

जब मैं Youtube से चित्र प्राप्त करता हूं तो मैं इस तरह से करता हूं:

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

किसी भी विचार Vimeo के लिए कैसे करना है?

यहाँ एक ही प्रश्न है, बिना किसी उत्तर के।


3
क्या आपने यह जांचा है कि क्या इन छवियों को आपकी साइट पर उपयोग करना आपके लिए कानूनी है? यदि नहीं, तो यह शुरू करने के लिए एक लूट बिंदु है।
लोथर

12
हां, यह कानूनी है - दोनों वेबसाइट बहुत ही सार्वजनिक तरीके से ये विवरण प्रदान करती हैं, क्योंकि वे चाहते हैं कि आप उनकी सामग्री का उपयोग करें! सभी एम्बेडेड वीडियो सभी के बाद होस्टिंग साइट पर वापस लिंक करते हैं।
मैग्नस स्मिथ

1
यदि आप यह सुनिश्चित करना चाहते हैं कि आपका पृष्ठ vimeo सर्वर पर निर्भर नहीं है, और प्रदर्शन अनुकूलित है तो मेरा सुझाव है कि आप इसे जावास्क्रिप्ट में करें। नकारात्मक पक्ष यह है कि जावास्क्रिप्ट के बिना उपयोगकर्ताओं के लिए अंगूठा नहीं दिखाया जाएगा, लेकिन लिंक के साथ एक उपयुक्त प्लेसहोल्डर पर्याप्त अनुकूल होना चाहिए। (change .xml to .json to your api request on vimeo)
मिस्टर

इस उत्तर को आज़माएं: stackoverflow.com/a/17156853/146602 - केवल URL वाले किसी भी वीडियो के बारे में जानकारी / डेटा हड़पना बहुत आसान बनाता है।
फ़िरस्चीबार

1
i.vimeocdn.com/video/528073804_200x200.webp इस तरह आप वीडियो इमेज प्राप्त कर सकते हैं
पूस

जवाबों:


361

से Vimeo सरल API डॉक्स :

वीडियो अनुरोध करना

किसी विशिष्ट वीडियो के बारे में डेटा प्राप्त करने के लिए, निम्न url का उपयोग करें:

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

video_id आप जिस वीडियो के लिए जानकारी चाहते हैं, उसकी आईडी।

आउटपुट आउटपुट प्रकार निर्दिष्ट करें। वर्तमान में हम JSON, PHP और XML प्रारूप प्रदान करते हैं।

तो इस 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 में अनुमानित कोड है

<?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?
जोहान

PHP के साथ इसे प्राप्त करने के लिए, पहले vimeo.com/api/v2/video/6271487.php जैसे URL में php एक्सटेंशन का उपयोग करें , आपको एक फ़ाइल प्रदान की जाएगी, जिसकी पहली पंक्ति क्रमबद्ध php हैश लगती है, unserialize का उपयोग करें और फिर बस आप चाहते हैं प्रविष्टियों पढ़ें
शराबी

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 के उपयोग को मानता है।
नटिम

आह, ठीक है। स्पष्टीकरण के लिए धन्यवाद। मैं अक्सर JQuery का उपयोग नहीं करता, लेकिन जवाब अभी भी वास्तव में मेरे लिए उपयोगी था।
परमाणु नाभ

1
यह समान कोड के लिए परीक्षण योग्य jsfiddle है: jsfiddle.net/archatas/Tv7GZ
Aidas Bendoraitis

थैंक्स @AidasBendoraitis
Natim

45

आपको Vimeo की API की प्रतिक्रिया को पार्स करना चाहिए। URL कॉल (जैसे dailymotion या youtube) के साथ इसका कोई तरीका नहीं है।

यहाँ मेरा PHP समाधान है:

/**
 * 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>- और वह थंबनेल img से भर जाएगा।
दान

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'URI की फ़ाइलों के साथ-साथ पार्स करने की अनुमति देने की आवश्यकता हो सकती है ।
क्रिश

मुझे vimeo ID #
Abar

21

यहाँ एक उदाहरण दिया गया है कि ASP.NET का उपयोग C # में कैसे किया जाए। एक अलग त्रुटि पकड़ने वाली छवि का उपयोग करने के लिए स्वतंत्र महसूस करें :)

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/3266070.bml


अच्छा है, लेकिन एपीआई लिंक केवल vimeo.com/api/v2/video/video_id.xml वीडियो आईडी के सामने "वीडियो" नहीं है।
मार्टिन

इस कोड को छोटा कर दिया, और पूर्ण URL के बजाय vimeo id स्वीकार करने के लिए परम को बदल दिया। (पता नहीं कैसे कोड ब्लॉक को 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साथ बदल सकता है और वीडियो के साथ XML प्राप्त कर सकता है:

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

उदाहरण:

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

स्रोत


2
यह वास्तव में सबसे अच्छा उत्तर है क्योंकि Vimeo ने v2 api को अपदस्थ किया है। oEmbed को प्रमाणीकरण की आवश्यकता नहीं है और थंबनेल यूआरएल वाले JSON / XML प्रतिक्रिया देता है। डेवलपर
.vimeo.com

1
रॉय आईडी द्वारा विशिष्ट वीडियो की तलाश में हम इस ajax कॉल का उपयोग कैसे करते हैं?
क्लेविस

@blackhawk मैं नहीं, लेकिन मैंने इसे अभी Google किया है और आपके लिए कुछ पाया है, बस वीडियो_ड को अपने साथ बदलें $idऔर आपको वीडियो विवरण (थंबनेल शामिल करें) के साथ एक XML मिलेगा। 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
रॉय शोए

@blackhawk मैं अपना उत्तर संपादित करता हूं, आप इसे अभी देख सकते हैं। धन्यवाद!
रॉय शोए

11

यदि आप शुद्ध js / jquery no api के माध्यम से थंबनेल का उपयोग करना चाहते हैं, तो आप इस उपकरण का उपयोग वीडियो और वॉइला से एक फ्रेम पर कब्जा करने के लिए कर सकते हैं! उरला अंगूठा लगाएं जिसमें आपको कभी भी स्रोत पसंद आए।

यहाँ एक कोड पेन है:

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

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

यहाँ थंबनेल पाने के लिए साइट है:

http://video.depone.eu/


1
@blackhawk साइट का बैकअप है।
अल्फपिलग्रिम

ऐसा लगता है कि वीडियो निर्माता द्वारा चयनित आधिकारिक कवर / थंबनेल को एक यादृच्छिक फ्रेम नहीं मिला है। यह जानने के लिए महान मौजूद है, लेकिन मुझे लगता है कि मैं एपीआई json पार्स विधि का उपयोग करूँगा क्योंकि इस के साथ चीजों के vimeo पक्ष से कवर कला का कोई नियंत्रण नहीं है।
स्क्वायरकैंडी

9

Vimeo url ( 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
base64 एक हैश नहीं है। आधार पर आपके डेटा को क्लाइंट की ओर से एन्कोडिंग पर बेस 64-एन्कोडिंग के बारे में अधिक "सुरक्षित" कुछ भी नहीं है। इसने कहा, यह कुछ हद तक तेज है।
सुमुरि

7

यह इसे करने का एक त्वरित चालाक तरीका है, और कस्टम आकार चुनने का एक तरीका भी है।

मैं यहाँ जाता हूँ:

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

फ़ाइल डाउनलोड करें, इसे खोलें, और 640 पिक्सेल चौड़ा थंबनेल खोजें, इसमें एक प्रारूप होगा जैसे:

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

आप लिंक लेते हैं, उदाहरण के लिए - 1400 - के लिए 640 बदलें, और आप कुछ इस तरह से समाप्त करते हैं:

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

इसे अपने ब्राउज़र सर्च बार पर पेस्ट करें और आनंद लें।

चीयर्स,


यह तरीका काम नहीं करता है। VIDEO_ID के साथ कोई php फ़ाइल नहीं मिली।
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

दरअसल उस सवाल को पूछने वाले ने खुद अपना जवाब पोस्ट किया।

"Vimeo मुझे HTTP अनुरोध करने के लिए लगता है, और वे जिस XML से वापस आते हैं, थंबनेल URL निकालते हैं ..."

Vimeo API डॉक्स यहां हैं: http://vimeo.com/api/docs/simple-api

संक्षेप में, आपके एप्लिकेशन को निम्न जैसे URL के लिए GET अनुरोध करना होगा:

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

और आपके द्वारा आवश्यक थंबनेल URL प्राप्त करने के लिए दिए गए डेटा को पार्स करें, फिर उस URL पर फ़ाइल डाउनलोड करें।


4

मैंने PHP में एक फ़ंक्शन लिखा था मुझे इसे करने के लिए, मुझे आशा है कि किसी के लिए यह उपयोगी है। थंबनेल का रास्ता वीडियो पेज पर लिंक टैग के भीतर समाहित है। यह मेरे लिए चाल करने के लिए लगता है।

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

// नीचे दिए गए फ़ंक्शन में थंबनेल url पास करें।

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

प्रयोग

Vimeo वीडियो URL से Vimeo Id प्राप्त करें:

var vimeoId = parseVimeoIdFromUrl(vimeoUrl);

Vimeo Id से vimeo थंबनेल URL प्राप्त करें:

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

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


4

अद्यतन: इस समाधान ने दिसंबर 2018 तक काम करना बंद कर दिया।

मैं एक ही चीज की तलाश में था और ऐसा लगता है कि यहां ज्यादातर जवाब पुराने हैं क्योंकि वीमियो एपीआई वी 2 को अपदस्थ किया गया है।

मेरी php 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;

ऊपर आपको Vimeo डिफ़ॉल्ट थंबनेल छवि का लिंक मिलेगा।

यदि आप विभिन्न आकार की छवि का उपयोग करना चाहते हैं, तो आप कुछ ऐसा जोड़ सकते हैं:

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

कृपया आप मुझे किसी भी आधिकारिक घोषणा लिंक के साथ मदद कर सकते हैं जहां यह उल्लेख किया गया है कि v2 vimeo को पदावनत किया गया है।
दीपक यादव


2

मैंने एक CodePen बनाया है जो आपके लिए चित्र लाता है।

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>

जावास्क्रिप्ट:

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

यदि आप एक वैकल्पिक समाधान की तलाश कर रहे हैं और vimeo खाते का प्रबंधन कर सकते हैं तो दूसरा तरीका है, आप बस हर वीडियो को एक एल्बम में दिखाना चाहते हैं और फिर एल्बम विवरण का अनुरोध करने के लिए एपीआई का उपयोग करें - यह तब सभी थंबनेल और लिंक दिखाता है । यह आदर्श नहीं है, लेकिन मदद कर सकता है।

एपीआई अंत बिंदु (खेल का मैदान)

@Vimeoapi के साथ ट्विटर कोनोव


यह शायद इसके बारे में जाने का सबसे कुशल तरीका नहीं है, खासकर यदि (1) आपके बाकी कोड Vimeo API पर निर्भर नहीं करते हैं, और (2) आपको अच्छा एहसास है कि आपके API कॉल से आगे जा सकते हैं जो Vimeo के पास है एक सीमा के रूप में सेट करें।
क्लेविस

@blackhawk आपने मेरी बात को याद किया। यह वैकल्पिक है। यदि आप ऐसा करते हैं तो आपके पास अपने सभी वीडियो एक ही एपीआई कॉल में हैं। आप उदाहरण के लिए उस सर्वर को कैश कर सकते हैं।
9

1

आप मैट हुक से मणि को देखना चाह सकते हैं। https://github.com/matthooks/vimeo

यह एपी के लिए एक सरल वीमो आवरण प्रदान करता है।

आपको केवल वीडियो_ड स्टोर करना है (और प्रदाता यदि आप अन्य वीडियो साइट भी कर रहे हैं)

आप इस तरह 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

उन लोगों के लिए जो अभी भी केवल URL के माध्यम से थंबनेल प्राप्त करने का एक तरीका चाहते हैं, जैसे कि Youtube, एक निर्मित छोटा अनुप्रयोग जो इसे केवल Vimeo ID के साथ प्राप्त करता है।

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

बस अपने वीडियो आईडी में प्लग करें और यह इसे खींच लेगा और इसे 24 घंटे तक कैश करेगा ताकि यह तेजी से कार्य करे।

यदि आप अपने खुद के स्पिन करना चाहते हैं तो आप यहां ऐसा कर सकते हैं ।

रेपो


-3

मेरे जैसे किसी व्यक्ति के लिए जो हाल ही में यह पता लगाने की कोशिश कर रहा है,

https://i.vimeocdn.com/video/[video_id]_[dimension].webp मेरे लिये कार्य करता है।

(जहां dimension= 200x150 | 640)


1
अच्छा लगा। यह वास्तव में साफ है।
बेन हैरिसन

आईओएस पर सफारी को छोड़कर महान वेबप को प्रदर्शित नहीं करता है
ग्रेगरी मागर्शक

9
यह गलत प्रतीत होता है - मुझे एक तस्वीर मिलती है जिसका वास्तविक वीडियो से कोई लेना-देना नहीं है। अंगूठे के यूआरएल में इस्तेमाल की जाने वाली आईडी वीडियो आईडी से भिन्न होती है - यदि आप एपीआई कहते हैं तो आपको यह आईडी अलग-अलग आईडी के साथ मिलेगी। एपि को कॉल करने से कोई शॉर्टकट नहीं है।
मोर्टन होल्मगार्ड

12
यह काम नहीं करता है, video_id और image_id समान नहीं हैं। तो आपको एक छवि मिलेगी जो आपके द्वारा अनुरोधित वीडियो से संबंधित नहीं है
निकोलस अजरक

वीडियो आईडी और आईडी इन
थ्रेड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.