Generating Thumbnails for video

I have checked and read lot of post about one single issue that is far more complicated than it seems.

I have a website that uses a lot of videos taken from wwebsite as on the internet ^^ (services like youtube, vimeo, videobuzzy, etc) and we would like to generate on the fly a thumbnail of the embedded video.

Each service uses its own API so I should adapt code for each, which it far too much code and I could never manage every service.

A webserver propose something like that : http://embed.ly but I tried them and, as exemple, videos from videobuzzy doesn’t work. So that’s a partial solution.

Another solution would be to use a screenshot service that could request the video’s URL, render it, take a snapshot and generate an image. Tempting, but results tends to add delays, and I have to find a snapshot service and generate the code (well, this could be the fun part).

The simpliest would be to take a screen capture and create an image ourselves, then upload it.

I would rather propose something more user-friendly but I have no more clue.

Is anyone has some advice on it and do I get the picture right ?

Thank you.

ADDENDUM **

If I could, instead of the thumbnails, just embed the video (usually an iframe) into a with specific size, that could do the trick…

2

You can use the oEmbed functionality baked into WordPress. Typically any video host on this list will return a thumbnail to you using oembed.

Here is a list of default providers that WordPress uses for auto embedding in the content area. I’ve included non-video sources as well for the convenience of others.

  • http://www.youtube.com/oembed
  • http://blip.tv/oembed/
  • http://vimeo.com/api/oembed.xml
  • http://www.dailymotion.com/api/oembed/
  • http://www.flickr.com/services/oembed/
  • http://api.smugmug.com/services/oembed/
  • http://www.hulu.com/api/oembed.xml
  • http://lab.viddler.com/services/oembed/
  • http://qik.com/api/oembed.xml
  • http://revision3.com/api/oembed/
  • http://photobucket.com/oembed
  • http://photobucket.com/oembed
  • http://www.scribd.com/services/oembed
  • http://wordpress.tv/oembed/
  • http://polldaddy.com/oembed/
  • http://www.funnyordie.com/oembed

The full list of possible providers is documented at the WordPress codex under:
Embeds – Okay, So What Sites Can I Embed From?

Select your provider then use the following to get your video information.

require_once(ABSPATH.'wp-includes/class-oembed.php');
$oembed= new WP_oEmbed;
$url="http://www.youtube.com/watch?v=oHg5SJYRHA0";
//As noted in the comments below, you can auto-detect the video provider with the following
$provider = $oembed->discover($url);
//$provider="http://www.youtube.com/oembed";
$video = $oembed->fetch($provider, $url, array('width' => 300, 'height' => 175));
$title = $video->title;
$html = $video->html;
$thumb = $video->thumbnail_url;

I realize VideoBuzzy is not on the list. It appears to be a YouTube knockoff site. You should ask them if they have oembed protocols. If they don’t, you can register a non oembed handler by using wp_embed_register_handler().

Hope this helps!

Leave a Comment