Я получаю уменьшенное изображение от Vimeo API - PullRequest
1 голос
/ 23 мая 2019

Проблема, с которой я столкнулся, заключается в том, что изображения перетаскиваются на мой сайт в разных размерах, что означает, что они иногда размыты.

Например,Вот два видео на Vimeo, которые в точности соответствуют эскизу:

Я прилагаю скриншот2 видео встроено на мой сайт.Видео 315599618 (Test123 на нашем сайте) имеет четкое изображение, а 335868910 (на нашем сайте) размытое изображение.

Test123 изображение размытие Снимок экрана на моем сайте

Это две функции, которые я использую для получения изображения из vimeo api

public static function getVimeoData1($vimeo_url)
   {
       if( !$vimeo_url ) return false;
       @$data = json_decode( file_get_contents( 'http://vimeo.com/api/oembed.json?url=' . $vimeo_url ) );
       if( !$data ) return false;
       //return $data->thumbnail_url;
       return $data;
   }

   public static function getVimeoData2($vimeo_id)
   {
       if( !$vimeo_id ) return false;
       @$data = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$vimeo_id.php"));
       if( !$data ) return false;
       //return $data[0];
       return $data;
   }

Когда я открываю эти изображения отдельно, ясно, что для Swiped этопротягивает уменьшенную версию миниатюры, поэтому при увеличении она размыта (см. «Тест 123» и «Прикрепленные изображения»).Но нет очевидной причины, по которой он будет использовать уменьшенную версию эскиза, поскольку мы используем один и тот же код для просмотра изображений в обоих случаях.

Сайт построен на PHP (Laravel) ивставлять видео Vimeo с использованием следующего формата - https://player.vimeo.com/video/335868910. Если это поможет, я включил код, который используется для отображения изображений в качестве нижнего колонтитула в этом письме.

Пожалуйста, кто-нибудь может мне помочьчтобы понять, почему это происходит и что мы можем с этим поделать?

1 Ответ

1 голос
/ 24 мая 2019

Если вы используете oEmbed для получения миниатюры видео, вы должны указать размеры медиафайлов, которые вы хотите вернуть. Без указания размеров вы получите размер по умолчанию или другой неизвестный размер.

Ваш запрос oEmbed должен выглядеть следующим образом:

https://vimeo.com/api/oembed.json?url=https://vimeo.com/335868910&width=1920&height=1080

Полный список аргументов приведен здесь: https://developer.vimeo.com/api/oembed/videos

...