Получить img миниатюры от Vimeo?

У меня есть W520 также (с Quadro 1000M) и два внешних монитора (через базовый блок), я думаю, что необходимо искать проблемы с Optimus Nividia.

Для 'быстрого решения' можно изменить конфигурацию дисплея в настройках BIOS (F1) от OPTIMUS до интегрированного (=intel микросхема) или другой установке для карты Nvidia (моя установка).

295
задан Community 23 May 2017 в 02:26
поделиться

5 ответов

Из документации Vimeo Simple API :

Создание запроса видео

Чтобы получить данные о конкретном видео, используйте следующий URL:

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

video_id ID видео, для которого требуется информация.

output Укажите тип вывода. В настоящее время мы предлагаем 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'];  
356
ответ дан 23 November 2019 в 01:34
поделиться

На самом деле парень, задавший этот вопрос, опубликовал свой собственный ответ.

«Кажется, Vimeo хочет, чтобы я сделал HTTP-запрос, и извлеките URL-адрес эскиза из возвращаемого XML ... "

Документация API Vimeo находится здесь: http://vimeo.com/api/docs/simple-api

Короче говоря, ваше приложение необходимо сделать запрос GET на URL-адрес, подобный следующему:

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

и проанализировать возвращенные данные, чтобы получить URL-адрес эскиза, который вам нужен, а затем загрузить файл по этому URL-адресу.

4
ответ дан 23 November 2019 в 01:34
поделиться

С Ruby вы можете сделать следующее, если у вас есть, скажем:

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
22
ответ дан 23 November 2019 в 01:34
поделиться

Я написал функцию на 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
ответ дан 23 November 2019 в 01:34
поделиться

Вот пример того, как сделать то же самое в 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";
    }
}

ПРИМЕЧАНИЕ. Ваш запрос API должен выглядеть следующим образом при запросе: http://vimeo.com/api/v2/video/32660708.xml

21
ответ дан 23 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: