我从Vimeo API中获取模糊缩略图

时间:2019-05-23 14:06:09

标签: vimeo vimeo-api vimeo-player

我遇到的问题是图像正以不同的大小被拉到我的网站,这意味着它们有时会变得模糊。

例如 这是Vimeo上的两个视频,它们的缩略图完全相同:

我要附上我网站上嵌入的2个视频的屏幕截图。 视频315599618(在我们网站上的Test123)具有清晰的图像,而335868910(在我们的网站上滑动)具有模糊的图像。

Test123 image blur Screenshot in my website

我用来从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;
   }

当我分别打开这些图像时,很明显,对于“滑动”,它正在拉动缩略图的较小版本,这就是为什么放大时缩略图变得模糊的原因(请参阅附加的“测试123”和“滑动图像”)。但是没有明显的理由为什么它会提取较小的缩略图,因为在两种情况下我们都使用相同的代码来提取图像。

该网站使用PHP(Laravel)构建,嵌入的Vimeo视频使用以下格式-https://player.vimeo.com/video/335868910。如果有帮助,我在此电子邮件中包含了用于将图像显示为页脚的代码。

请,任何人都可以帮助我了解为什么会发生这种情况以及我们可以采取什么措施吗?

1 个答案:

答案 0 :(得分:0)

如果您使用oEmbed获取视频的缩略图,则应指定要返回的媒体尺寸。如果不指定尺寸,则会返回默认尺寸或其他未知尺寸。

您的嵌入请求应如下所示:

    disconnect;

    drop database 'BASE_MODEL.db';

    /*==============================================================*/
    /* Database: BASE_MODEL                                         */
    /*==============================================================*/
    create database 'BASE_MODEL.db';

    start database BASE_MODEL;
    connect database BASE_MODEL;

此处嵌入了argumens的完整列表:https://developer.vimeo.com/api/oembed/videos