我的网站允许用户上传YouTube视频代码。我试图通过显示上传视频的缩略图来制作播放列表,并在点击特定缩略图后播放相应的视频。
我想知道获取标题的方法以及使用youtube的嵌入代码上传的那些视频的缩略图?
编辑:
为了更清楚地提问,我的用户上传了如下所示的代码:
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/-L8DFfSJbqU&hl=en_US&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-L8DFfSJbqU&hl=en_US&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
所以从这些代码中我怎么能先找到vedio id然后再找到缩略图?
答案 0 :(得分:12)
您可以从视频网址加载缩略图。
视频网址
THUMBNAIL网址
http://i1.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg
http://i2.ytimg.com/vi/Xzf0rvQa4Mc/default.jpg
将图像复制到新视频的所有缩略图网址(可能是服务器)需要一些时间。
如果没有缩略图,则返回带摄像头的图像(长度恰好为893字节)。
实施例
答案 1 :(得分:8)
您可以使用这些网址尝试不同类型的YouTube视频缩略图 -
默认&amp;正常质量的缩略图:
http://img.youtube.com/vi/<youtube-video-id>/default.jpg
高质量(HQ)缩略图:
http://img.youtube.com/vi/<youtube-video-id>/hqdefault.jpg
还有一个中等质量的缩略图:
http://img.youtube.com/vi/<youtube-video-id>/mqdefault.jpg
对于最大分辨率缩略图:
http://img.youtube.com/vi/<youtube-video-id>/maxresdefault.jpg
例如。
YouTube link - http://www.youtube.com/watch?v=4EvNxWhskf8
YouTube video id - 4EvNxWhskf8
那样 -
<img src="http://img.youtube.com/vi/4EvNxWhskf8/hqdefault.jpg" title="YouTube Video" alt="YouTube Video" />
答案 2 :(得分:3)
使用YouTube API:
/* Some stuff goes before here to initialize API connection */
/* Then get started: */
$yt = new Zend_Gdata_YouTube()
$videoEntry = $yt->getVideoEntry('the0KZLEacs'); //Video-ID
$videoThumbnails = $videoEntry->getVideoThumbnails()
echo 'Video: ' . $videoEntry->getVideoTitle() . "\n";
echo 'Video ID: ' . $videoEntry->getVideoId() . "\n";
echo 'Updated: ' . $videoEntry->getUpdated() . "\n";
echo 'Description: ' . $videoEntry->getVideoDescription() . "\n";
echo 'Category: ' . $videoEntry->getVideoCategory() . "\n";
echo 'Tags: ' . implode(", ", $videoEntry->getVideoTags()) . "\n";
echo 'Watch page: ' . $videoEntry->getVideoWatchPageUrl() . "\n";
echo 'Flash Player Url: ' . $videoEntry->getFlashPlayerUrl() . "\n";
echo 'Duration: ' . $videoEntry->getVideoDuration() . "\n";
echo 'View count: ' . $videoEntry->getVideoViewCount() . "\n";
echo 'Rating: ' . $videoEntry->getVideoRatingInfo() . "\n";
echo 'Geo Location: ' . $videoEntry->getVideoGeoLocation() . "\n";
echo 'Recorded on: ' . $videoEntry->getVideoRecorded() . "\n";
可以在这里找到所有内容:Developers Guide
答案 3 :(得分:2)
您可以轻松地访问我的网站,我为此创建了一个应用程序,
http://shofnee.com/metal_shofnee/apps/youtube_app/youtube_app.php
这也是我为了使这个应用程序与php语言一起使用而编写的代码
<?php
//getting and validating the embed code
$cde = $_POST['txt_embd'];
if(!empty($cde))
{
$part_one_cde = explode("/",$cde);
$part_2_cde = explode("?",$part_one_cde[4]);
$img_1 = "http://img.youtube.com/vi/$part_2_cde[0]/0.jpg";
$img_2 = "http://img.youtube.com/vi/$part_2_cde[0]/1.jpg";
$img_3 = "http://img.youtube.com/vi/$part_2_cde[0]/2.jpg";
echo "Img 1";
echo "<br />";
echo "<img src=\"$img_3\" width=\"100\" height=\"100\" />";
echo"<br /><br />";
echo "Img 2";
echo "<br />";
echo "<img src=\"$img_2\" width=\"150\" height=\"150\" />";
echo"<br /><br />";
echo "Img 3";
echo "<br />";
echo "<img src=\"$img_1\" width=\"200\" height=\"200\" />";
}
else
{
echo "Please put any embed code to get it's pics ...";
}
?>
答案 4 :(得分:1)
如果您有视频ID,则可以使用this article
中描述的链接链接格式如下:
http://img.youtube.com/vi/VIDEO_ID/default.jpg
<强>更新强>
如果这是您的代码:
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/-L8DFfSJbqU&hl=en_US&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-L8DFfSJbqU&hl=en_US&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
然后这是视频链接:
http://www.youtube.com/v/-L8DFfSJbqU&hl=en_US&fs=1
然后这是视频ID:
-L8DFfSJbqU
所以你的缩略图链接是:
http://img.youtube.com/vi/-L8DFfSJbqU/default.jpg
答案 5 :(得分:1)
youtube的GData API可让您获取有关供稿,用户,视频等的信息。
此链接描述了与缩略图相关的回复部分:
http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:thumbnail
请勿对网址进行硬编码,因为Google可以随时更改这些网址。使用API。