Display YouTube Thumbnails Easy with jQuery

You may not know but youTube takes screenshots of the videos you upload, there are usually 2 main images (one big thumbnail and 1 small thumbnail). Here is how you can display YouTube Video thumbs on your webpage.

YouTube URLs

The urls are in this format (the v param is what we need):

YouTube Thumbs

Big Thumb

480×360

http://img.youtube.com/vi/dXo0LextZTU/0.jpg


Small Thumb (start)

128×96

http://img.youtube.com/vi/dXo0LextZTU/1.jpg

Small Thumb (after a minute or so of duration)

128×96

http://img.youtube.com/vi/dXo0LextZTU/2.jpg

Usage

// Returns big screenshot by video id
$.jYoutube('rSUfWXcNAOw');

// Returns small thumbnail by YouTube video URL
$.jYoutube('http://www.youtube.com/watch?v=rSUfWXcNAOw', 'small');

jQuery Code

$.extend({
  jYoutube: function( url, size ){
    if(url === null){ return ""; }

    size = (size === null) ? "big" : size;
    var vid;
    var results;

    results = url.match("[\\?&]v=([^&#]*)");

    vid = ( results === null ) ? url : results[1];

    if(size == "small"){
      return "http://img.youtube.com/vi/"+vid+"/2.jpg";
    }else {
      return "http://img.youtube.com/vi/"+vid+"/0.jpg";
    }
  }
});

Try it yourself

<html>
<head>
<title>jYoutube - jQuery YouTube plugin demo</title>
<script src="jquery.js"></script>
<script src="jyoutube.js"></script>

<script type="text/javascript">
$(document).ready(function(){
    // Get youtube video thumbnail on user click
    var url = '';
    $('#submit').click(function(){
        // Check for empty input field
        if($('#url').val() != ''){
            // Get youtube video's thumbnail url
            // using jYoutube jQuery plugin
            url = $.jYoutube($('#url').val());
           
            // Now append this image to <div id="thumbs">
            $('#thumbs').append($('<img src="'+url+'" />'));
        }
    });
});
</script>

</head>
<body>

<div class="left">
<h1>Submit YouTube link</h1>
<form>
  <input type="text" name="url" id="url"/>
  <input type='button' value="Get Thumbnail" id="submit"/>
</form>

<p>Your YouTube video thumbs:</p>
<div id="thumbs"> </div>

</body>
</html>

Source