Capturando imagens de um vídeo do YouTube ou Vimeo com o PHP

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Adaptado do original: http://darcyclarke.me/development/get-image-for-youtube-or-vimeo-videos-from-url/

Prefácio

Quando se está construindo uma aplicação social é sempre uma boa ideia incluir informações relevantes ao contexto. Isso ajuda a melhorar a experiência e torna tudo muito mais legal para o usuário.

Alguns projetos podem necessitar de uma ‘screenshot’ de algum vídeo. Isso é fácil de fazer e 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.

[php]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"];
}
}[/php]

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.

[php]return "http://img.youtube.com/vi/".substr($array[0], 2)."/0.jpg";[/php]

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.

[php]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";[/php]

Para o Vimeo

Você pode alterar a seguinte linha no script para retornar um tamanho de imagem diferente do Vimeo:

[php]return $hash[0]["thumbnail_small"];[/php]

As variações são:

[php]return $hash[0]["thumbnail_small"];
return $hash[0]["thumbnail_medium"];
return $hash[0]["thumbnail_large"];[/php]

Conclusão

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.

TcheLinux Bento Gonçalves 2011: Chamada de Trabalhos

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Está aberta a chamada de trabalhos para o Seminário TcheLinux Bento Gonçalves 2011.

O evento acontecerá na FTEC de Bento Gonçalves no dia 13 de Agosto.

Serão aceitas palestras, apresentações de cases e workshops em todas as áreas da informática e áreas co-relatas.

A chamada vai até as 23h59 do dia 6 de Junho de 2011 (segunda-feira). É permitida a submissão de mais de um trabalho.

Tá esperando o quê? Clica aqui e manda o teu trabalho!

Promoção – Livro Zend Framework na Prática

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

E aí, manolo! Tá afim de faturar, na faixa, um exemplar (e-book) do novo livro do Elton Minetto, o Zend Framework na Prática?

(Se você quiser ler a resenha que escrevi sobre o livro, clique aqui)

É muito simples! Siga os seguintes passos:

  1. Siga o @_phpit, o @eminetto e a @coderockr.
  2. Twitte a seguinte frase: Quero ganhar o livro ‘Zend Framework Na Prática’ – Cortesia do @_phpit e do @eminetto – http://kingo.to/Dvj
  3. E daí é só torcer!

O sorteio ocorrerá no dia 3 de Junho (sexta).

Boa sorte a todos!

Livro – Zend Framework na Prática

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Essa semana tive o prazer de dar uma olhada de perto no novo livro do Elton Minetto, o Zend Framework na Prática. Então deixo aqui minha opinião acerca do que encontrei dentro dessas páginas.

O livro é bastante completo e objetivo. Através da construção de exemplos práticos e funcionais, ajuda a pegar bem a linha de raciocínio de como o ZF funciona.

O conteúdo do livro é extenso, porém é bem explicado e bastante didático. Certamente não possui todas as funcionalidades, mas posso te dizer que as principais estão ali.

Ao final do livro você terá um sistema funcionando e terá passado por todo o processo de construção do mesmo, entendendo a função de cada pedaço. Cada novo trecho de código é acompanhando por uma descrição detalhada, o que deixa o desenvolvedor mais seguro sobre o trabalho que está sendo realizado.

Todos os trechos de código estão hospedados na web e podem ser acessados e facilmente copiados, mas não recomendo que você copie e cole. O fato de você mesmo digitar o código ajuda na memorização e é muito melhor para a aprendizagem.

Sem dúvida é uma leitura altamente recomendada para iniciantes e intermediários no Zend Framework. Dá uma visão bastante abrangente e demonstra bem o poder do ZF, instigando o leitor a pesquisar mais.

Interessou?

Pra adquirir o livro, acesse o site http://www.zfnapratica.com.br/ e obtenha mais informações.

E se você é sortudo, aguarde que em breve teremos uma promoção bacana aqui no PHPit! ;)

Um abraço a todos e fiquem com Deus!

Programadores matando dragões e salvando a princesa

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

programadores_dragoes

Como os programadores matam os dragões…

JAVA
Chega, encontra o dragão. Desenvolve um framework para aniquilamento de dragões em múltiplas camadas.
Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é comido pelo réptil.

ASP
Os componentes necessários para levantar a espada são proprietários e caros. Outros tantos componentes proprietários para achar a localização do dragão, e mais outros tantos a localização da princesa. Chama então seu amigo programador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete, degola o dragão. Encontra a princesa, mas a ignora para ver os últimos checkins no cvs do
kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender … Mata o dragão, mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragão, pensa que tá velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora de volta ao seu
mundinho.

PASCAL
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragão… Chegando lá descobre que o programa só aceita lagartixas como entrada.

VB
Monta uma arma de destruição de dragões a partir de vários componentes, parte pro pau pra cima do dragão e, na hora H, descobre que a espada só funciona
durante noites chuvosas…

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.

PHP
Pesquisa bancos de scripts e acha as classes de construção de espada, manuseio da espada, localização da princesa e dragão. Remenda tudo e coloca umas firúlas próprias.
Mata o dragão e casa com a princesa. Como tudo foi feito com gambiarras, o dragão um dia vai ressuscitar e comer os dois.

RUBY
Chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragão… O dragão come ele de tédio.

SMALLTALK
Chega, analisa o dragão e a princesa, vira as costas e vai embora, pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.

SHELL
Cria uma arma poderosa para matar os dragões, mas na hora H, não se lembra como usá-la.

SHELL (2)
O cara chega no dragão com um script de 2 linhas que mata, corta, stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele roda, o script aumenta, engorda, enfurece e coloca álcool no fogo do dragão.

FORTRAN
Chega desenvolve uma solução com 45000 linhas de código, mata o dragão vai ao encontro da princesa… mas esta o chama de tiozinho e sai correndo atrás do programador Java que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bonitinho e funciona, mas por dentro está tudo remendado. Quando ele vai executar o aniquilador de
dragões lembra que esqueceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de
rodar recebe um “Bound Error: Array Access” e o dragão come ele com farinha.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, consegue o aval do papa, do Buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, quando
na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

 

Texto adaptado de: http://www.brpoint.net/programadores-matando-dragoes-e-salvando-a-princesa.html

PHPit – Layout 2011

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Salve, galera!

Não ando tão sumido ultimamente, né?

Meus últimos dias de ausência foram em decorrência dessa transição importante. Saiu o novo layout do PHPit! \o/

Todos comemora! (sic)

Como fui eu que fiz (e eu sou programador), tentei deixar o mais simples possível pra não ficar difícil de navegar… E agora não me estresso mais com isso por um tempo! :P

Agradeço a paciência de todos e fico no aguardo de sugestões e alerta de bugs que encontrarem!

Valeu, gente!

Um abraço a todos e fiquem com Deus!