【问题标题】:Load vimeo hd thumbnails with NEW API使用新 API 加载 vimeo 高清缩略图
【发布时间】:2025-12-12 08:15:01
【问题描述】:

我正在使用与此类似的代码来加载 vimeo 视频的缩略图。

    <?php

        if(defined('AT_PROXY'))  {
              $aContext = array(
                  'http' => array(
                      'proxy' => AT_PROXY,
                      'request_fulluri' => true,
                  ),
              );
              $cxContext = stream_context_create($aContext);

              $contents = file_get_contents('http://vimeo.com/api/v2/video/'.$main_video.'.php', False, $cxContext);
         } else {
              $contents = file_get_contents('http://vimeo.com/api/v2/video/'.$main_video.'.php');
         }


        $contents = file_get_contents('http://vimeo.com/api/v2/video/'.$main_video.'.php');

        $array = @unserialize(trim($contents));
        $video_thumbnail = str_replace('http://', 'https://',$array[0]["thumbnail_large"]);
    ?>

     <div class="video_thumbnail text-center">

          <img src="<?php echo $video_thumbnail ?>" alt="" class="img-responsive" />

          <div class="play js-play" data-vid="<?php echo $main_video; ?>">
               <span class="glyphicon glyphicon-play play-btn"></span>
          </div>

     </div>

大缩略图为 640 像素

显然这是旧的 API。如果我想加载更大的缩略图,我应该使用新的 API。

https://developer.vimeo.com/api

我似乎找不到使用“新”API 的方法。

有谁知道如何使用新 API 加载缩略图,有没有示例说明如何做到这一点?

【问题讨论】:

    标签: php css vimeo


    【解决方案1】:

    使用新 API 获取视频信息。 例如去https://developer.vimeo.com/api/playground/videos/ 并输入视频 ID 并拨打电话。

    它将返回一个 json 结果。 “图片”部分将包含您可以获取的所有可用缩略图。

    这是对https://api.vimeo.com/videos/111096137 的经过身份验证的调用的图片部分

    "pictures": {
        "uri": "/videos/111096137/pictures/495591662",
        "active": true,
        "sizes": [
            {
                "width": 100,
                "height": 75,
                "link": "https://i.vimeocdn.com/video/495591662_100x75.jpg"
            },
            {
                "width": 200,
                "height": 150,
                "link": "https://i.vimeocdn.com/video/495591662_200x150.jpg"
            },
            {
                "width": 295,
                "height": 166,
                "link": "https://i.vimeocdn.com/video/495591662_295x166.jpg"
            },
            {
                "width": 640,
                "height": 360,
                "link": "https://i.vimeocdn.com/video/495591662_640x360.jpg"
            },
            {
                "width": 960,
                "height": 540,
                "link": "https://i.vimeocdn.com/video/495591662_960x540.jpg"
            },
            {
                "width": 1280,
                "height": 720,
                "link": "https://i.vimeocdn.com/video/495591662_1280x720.jpg"
            }
        ]
    },
    

    您可以使用此信息来获取您想要的任何尺寸。

    【讨论】:

    • johnh10,感谢您的回答 - 我可以看到,如果我在您链接的页面上输入视频 ID,我可以取回 json,但我实际上如何从我的页面拨打电话以获得它json。我正在从数据库中提取视频,因此我需要使用它来调用 vimeo 以获取缩略图。
    • 也许你可以插入 Vimeo 的官方 PHP 库。 github.com/vimeo/vimeo.php
    • @johnh10 没有告诉您的是,您首先需要使用 Vimeo 创建一个应用程序,然后获取您的 API 密钥和秘密,然后使用 PHP 使用 Curl 等发出请求。
    • 您知道上传后立即获取图片的方法吗?因为似乎vimeo会在一段时间后返回图片
    • 我认为他们需要一些时间来生成缩略图并将其分散到他们的 CDN 网络中。