如何使用 php 获取 youtube 和 vimeo 嵌入代码的视频缩略图?

Posted

技术标签:

【中文标题】如何使用 php 获取 youtube 和 vimeo 嵌入代码的视频缩略图?【英文标题】:How can I get video thumbnail of youtube and vimeo embed code using php? 【发布时间】:2012-08-13 14:34:02 【问题描述】:

我有一个 WordPress 网站,我在该网站的帖子编辑器中插入视频嵌入代码。在前端,我需要在点击它们时显示视频缩略图,它将在灯箱中显示视频。

要求是,我需要在编辑器中显示我提供的视频的视频缩略图。

我将使用 YouTube 和 vimeo 嵌入代码,如果是其他视频,我将显示帖子缩略图或默认图像。

我将为每个帖子使用一个视频嵌入代码。

提前致谢。

【问题讨论】:

您是否尝试过查看 youtube/video api 来获取缩略图? "如何使用 YouTube API 获取 YouTube 视频链接的缩略图?" ***.com/questions/2068344/… 【参考方案1】:

如果你想通过纯js​​/jquery no api使用缩略图,你可以使用这个工具从视频中截取一帧,瞧!

http://video.depone.eu/

【讨论】:

【参考方案2】:

试试这个Plugin,它简化了在您的 WordPress 模板中自动显示视频缩略图的过程。

【讨论】:

【参考方案3】:

使用Youtube API

http://img.youtube.com/vi/VIDEO_ID/#.jpg
where,
VIDEO_ID = bQVoAWSP7k4
# = 1,2, or 3

使用Vimeo API

Making Video Request

http://vimeo.com/api/v2/video/video_id.output

where, 
video_id :  The ID of the video you want information for.
output  :  Specify the output type. It currently offer JSON, php, and XML formats.

vimeo 的 php 代码:

$imgid = 6825415;
$image = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$imgid.php"));
echo $image[0]['thumbnail_medium'];

【讨论】:

感谢您的回复。但我需要知道如何区分 vimeo 和 youtube 视频并获取该视频的缩略图 # 也可以(并且可能应该)是default,1、2 和 3 是自动生成的,默认由视频制作者选择【参考方案4】:

您可以从视频网址加载的缩略图。

视频网址

http://www.youtube.com/watch?v=Xzf0rvQa4Mc

缩略图网址

http://i1.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg

http://i2.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg

http://i3.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg

http://i4.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg

将图像复制到新视频的所有缩略图 url(可能是服务器)需要一些时间。

如果没有缩略图,则返回带有相机的图像(长度正好是 893 字节)。

示例

    http://i4.ytimg.com/vi/Xzf0rvQa4Md/default.jpg

如果你想获得这样的 youtube 视频 ID

这个更好

regexp (youtube\.com\/(watch\?v=)?(v\/)?([\w\-]+)) 

它可以处理两个网址(with /v/ and with watch?v=)

preg_match('/youtube\.com\/v\/([\w\-]+)/', $code, $match);

echo $match[3];

【讨论】:

感谢您的回复。但我需要知道如何区分 vimeo 和 youtube 视频并获取该视频的缩略图 你看到这个 url youtube.com/watch?v=Xzf0rvQa4Mc 最后一个查询字符串是 Xzf0rvQa4Mc id 我已经检查了 url regexp (youtube\.com\/(watch\?v=)?(v\/)?([ \w\-]+)) 并获取此代码 preg_match('/youtube\.com\/v\/([\w\-]+)/', $code, $match);并在此网址中设置 id i.ytimg.com/vi/8vZyIiXp4kg/default.jpg echo $match[3]; 不需要 1 或 2 或 3 在 url 中的 i (i) 之后使用,请参阅此 url i.ytimg.com/vi/8vZyIiXp4kg/default.jpg

以上是关于如何使用 php 获取 youtube 和 vimeo 嵌入代码的视频缩略图?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Youtube API 获取 Youtube 频道横幅?

使用 PHP 代码获取特定频道的 youtube 频道视频

使用 PHP 从 URL 获取 YouTube 视频 ID

获取 YouTube 视频缩略图并将其与 PHP 一起使用

如何使用 PHP 登录 Youtube?

youtube data api 3 php,如何从一个频道获取超过 50 个视频?