Em aplicações sociais é uma boa ideia incluir ifnromações sobre o contexto como também screnshot de algum vídeo, isso deixa seu site mais atraente para o usuário.
Com um script bem simples é possível obter a thumbnail de um vídeo do YouTube ou Vimeo através da URL.
Logo abaixo você vê o snippet que pode ser utilizado em qualquer uma de suas aplicações.
function video_imagem($url){
$url_imagem = parse_url($url);
if($url_imagem['host'] == 'www.youtube.com'
|| $url_imagem['host'] == 'youtube.com'){
$array = explode("&", $url_imagem['query']);
return "http://img.youtube.com/vi/"
.substr($array[0], 2)."/0.jpg";
} else if($url_imagem['host'] ==
'www.vimeo.com' || $url_imagem['host'] == 'vimeo.com'){
$hash = unserialize(file_get_contents("http://vimeo.com/
api/v2/video/".substr($url_imagem['path'], 1).".php"));
return $hash[0]["thumbnail_small"];
}
}
Você vai perceber que esse código possui um trecho determinar se a url passada pela função é de um vídeo do YouTube ou Vimeo e os cálculos necessários para trabalhar com ambos.
Seria interessante que você adicionasse uma contenção, caso o link não seja válido.
Para o YouTube
Você pode mudar a seguinte linha no script para retornar um tamanho diferente de imagem.
return "http://img.youtube.com/vi/".substr($array[0], 2)."/0.jpg";
Existem variações de thumbnail disponíveis baseado nas miniaturas escolhidas pelo usuário quando enviou o vídeo. Você pode mudar o número para conseguir uma thumb diferente. Incrementando o número no final da imagem, você verá a próxima thumb disponível.
return "http://img.youtube.com/vi/".substr($array[0], 2)."/default.jpg"; // Pequena - padrão return "http://img.youtube.com/vi/".substr($array[0], 2)."/0.jpg"; // Grande - padrão return "http://img.youtube.com/vi/".substr($array[0], 2)."/1.jpg"; return "http://img.youtube.com/vi/".substr($array[0], 2)."/2.jpg"; return "http://img.youtube.com/vi/".substr($array[0], 2)."/3.jpg";
Para o Vimeo
Você pode alterar a seguinte linha no script para retornar um tamanho de imagem diferente do Vimeo:
return $hash[0]["thumbnail_small"];
As variações são:
return $hash[0]["thumbnail_small"]; return $hash[0]["thumbnail_medium"]; return $hash[0]["thumbnail_large"];
As APIs de YouTube e Vimeo possuem muito mais informações que você pode capturar, incluindo o avatar de usuários e outras coisinhas bacanas. Tomara que esse pequeno script ajude a trazer um contexto mais bacana para os seus usuários ao invés de um simples link estático.
