Como todo mundo sabe, o YouTube é um excelente serviço de vídeos fornecido pelo Google. Como todo mundo sabe, é muito fácil incorporar um vídeo usando o código gerado pelo próprio YouTube, porém em alguns momentos nós queremos criar algumas customizações e precisamos apenas recuperar a imagem do vídeo para criar uma lista de links, por exemplo.

Foi então que resolvi pesquisar a forma mais simples de fazer isso. Acabei descobrindo que poderia conseguir as imagens usando apenas o link do vídeo. Por exemplo, se quizermos pegar o thumbnail do vídeo, precisamos apenas usar uma expressão regular para isolar um trecho da URL que identifica o vídeo.

Exemplo de Url:

http://www.youtube.com/watch?v=-0q2r4CwE9E

Crie uma função para pegar o valor do parâmetro “v” na url.

public string GetParameterValue(string url, string paramName)
{
	var uri = new Uri(url);
	if (uri != null && uri.Query != null && uri.Query.Length > 0 && uri.Query.ToLower().Contains(paramName))
	{
		Match m = Regex.Match(uri.Query, "^?" + paramName + "=([^&#]*)");
		if (m.Success) return m.Value.Replace(paramName + "=", string.Empty);
	}
	return string.Empty;
}

Para pegar o valor basta chamar a função passando a url do vídeo e o nome do parâmetro.

// vamos usar esse id para requisitar a imagem
var idVideo = GetParameterValue("http://www.youtube.com/watch?v=-0q2r4CwE9E", "v");

Agora adicione este id nas seguintes urls, dependendo do tamanho da imagem que você precisa:

thumbnail de 120x90

http://img.youtube.com/vi/”+idVideo+”/0.jpg

thumbnail maior

http://img.youtube.com/vi/”+idVideo+”/2.jpg

Esta é uma solução muito simples para recuperar as imagens do YouTube usando C#… porém é possível fazer a mesma coisa usando apenas javascript, já que basta tratar as strings para montar o endereço da Url. Eu tomei como base este link.

Espero que gostem desta dica rápida!