У меня есть W520 также (с Quadro 1000M) и два внешних монитора (через базовый блок), я думаю, что необходимо искать проблемы с Optimus Nividia.
Для 'быстрого решения' можно изменить конфигурацию дисплея в настройках BIOS (F1) от OPTIMUS до интегрированного (=intel микросхема) или другой установке для карты Nvidia (моя установка).
Из документации 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'];
На самом деле парень, задавший этот вопрос, опубликовал свой собственный ответ.
«Кажется, 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-адресу.
С 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
Я написал функцию на 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
Вот пример того, как сделать то же самое в 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