如何使用 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 嵌入代码的视频缩略图?的主要内容,如果未能解决你的问题,请参考以下文章