如何显示youtube视频缩略图

时间:2010-08-04 11:32:47

标签: php youtube thumbnails

我的网站允许用户上传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然后再找到缩略图?

6 个答案:

答案 0 :(得分:12)

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

视频网址

  

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

THUMBNAIL网址

  

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

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

如果没有缩略图,则返回带摄像头的图像(长度恰好为893字节)。

实施例

  
    

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

  

答案 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​​。