如何让 Vimeo 链接与嵌入式 iframe 一起使用

How to get Vimeo links to work with embedded iframe

我正在开发一个用户可以 post Vimeo 视频的网站。当用户在表单中输入视频 url 时,该视频应出现在 Vimeo 嵌入式 iframe 播放器中。

我希望用户能够post常见的url,比如

https://vimeo.com/pagefilms/void1 

但是,似乎 Vimeo 嵌入式播放器需要 urls 专门为播放器格式化,例如

https://player.vimeo.com/video/204420014

有没有人成功地将常用格式的 Vimeo url 嵌入到页面中?

这是我的代码:

<?php 
if(isset($video2)){
    echo '<h3>Video 2</h3>'
?>
    <p class="video text-center">

<?php
        echo '<iframe src="' . $video2 . '" width="640" height="360"
        frameborder="0" webkitallowfullscreen mozallowfullscreen
        allowfullscreen></iframe>'; 
?>
    </p>
<?php
}   
?>

您可能想尝试向自定义 url 发出 oEmbed 请求以提取嵌入代码。向您提供的示例发出请求时:

https://vimeo.com/api/oembed.json?url=https://vimeo.com/pagefilms/void1

你会得到这个:

{
  "type": "video",
  "version": "1.0",
  "provider_name": "Vimeo",
  "provider_url": "https://vimeo.com/",
  "title": "ReflectionVOID",
  "author_name": "Page Films",
  "author_url": "https://vimeo.com/pagefilms",
  "is_plus": "1",
  "html": "<iframe src=\"https://player.vimeo.com/video/204420014\" width=\"640\" height=\"272\" frameborder=\"0\" title=\"ReflectionVOID\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>",
  "width": 640,
  "height": 272,
  "duration": 345,
  "description": "*Recommended: dark viewing environment / 4K or HD resolution / quality sound\n\nReflectionVOID\nA short film by Lance Page\nOriginal music by Lorn\n\nAfter dusk in the high desert, as the sky quickly darkens, a lone hiker stumbles across a window into another world. As the man approaches the portal, he is met with his own reflection and we suddenly sink into the ReflectionVOID.\n\nIn the VOID, scattered portals reflect star patterns against deep black skies. The stars sing to us, but the relentless nature of the high desert reminds us of our mortality. The razor sharp cactus blades and the cold jagged rock formations threaten our fragile bodies. The portals allow us a deeper perspective, they show us the Universe as we reach into our souls for cosmic significance. As we sink deeper into the unknown, we’re met with a tall human-like figure, a mysterious desert dweller with a purpose and a message.\n\n\nWatch our behind the scenes documentary for more:\n\n There Will Be Portals: Making of ReflectionVOID\nhttps://vimeo.com/pagefilms/void1bts\n\nA Page Films / Cinematic Syndicate Production\nProduced by Lance Page and Jesse Andrew Clark\nwww.pagefilms.com\nwww.cinematicsyndicate.com\n\nOriginal Music by Lorn\nhttps://lorn.bandcamp.com/\n\nGear and production support:\n\neMotimo\nhttp://emotimo.com\nVizual Jockey\nhttp://www.vizualjockey.com\nRefraction Film Company San Diego\nhttps://www.refractionfilm.com\nAlpine Labs\nhttps://alpinelaboratories.com",
  "thumbnail_url": "https://i.vimeocdn.com/video/621081707_640.jpg",
  "thumbnail_width": 640,
  "thumbnail_height": 272,
  "thumbnail_url_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F621081707_640.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png",
  "upload_date": "2017-02-16 15:03:43",
  "video_id": 204420014,
  "uri": "/videos/204420014"
}

首选这种方式,因为您将获得完整的嵌入代码,而不是自己构建嵌入代码。您还可以向请求添加参数以添加您想要的 iframe 的首选 height/width。可以在此处找到 Vimeo 的 oEmbed 响应的文档:

https://developer.vimeo.com/apis/oembed