Quero obter uma imagem em miniatura para vídeos do Vimeo.
Ao obter imagens do Youtube, eu faço assim:
http://img.youtube.com/vi/HwP5NG-3e8I/2.jpg
Alguma idéia de como fazer para o Vimeo?
html
thumbnails
vimeo
Johan
fonte
fonte
Respostas:
Nos documentos da API simples do Vimeo :
Fazendo uma solicitação de vídeo
Então, obtenha este URL http://vimeo.com/api/v2/video/6271487.xml
Analise isso para cada vídeo para obter a miniatura
Aqui está o código aproximado em PHP
fonte
xml
. Como posso obterthumbnail_small
comphp
?thumbnail_large
de i.vimeocdn.com/video/23566238_640.webp para i.vimeocdn.com/video/23566238_640.png ou i.vimeocdn.com/video/23566238_320.jpgEm javascript (usa jQuery):
Para exibi-lo:
fonte
$(id_img).before
e$(id_img).attr
paracreateElement
e um mais básicogetElementById(id_img).src
, mas não teria conseguido se não fosse o seu exemplo.Você deve analisar a resposta da API do Vimeo. Não há como fazer isso com chamadas de URL (como dailymotion ou youtube).
Aqui está minha solução PHP:
fonte
Usando o jQuery jsonp request:
fonte
<div id='12345678' class='vimeo_thumb'></div>
- e isso seria preenchido com a miniatura img.$.getJSON('http://vimeo.com/api/v2/video/' + video_id + '.json?callback=?', function (data) {...
Com Ruby, você pode fazer o seguinte, se tiver:
fonte
require 'open-uri'
permitir URI aberto para analisar e arquivos.Aqui está um exemplo de como fazer a mesma coisa no ASP.NET usando C #. Sinta-se livre para usar uma imagem de captura de erro diferente :)
NOTA: Sua solicitação de API deve ser assim quando solicitada: http://vimeo.com/api/v2/video/32660708.xml
fonte
public static string GetVimeoPreviewImage(string id) { try { XmlDocument doc = new XmlDocument(); doc.Load("http://vimeo.com/api/v2/video/" + id + ".xml"); return doc.DocumentElement.FirstChild.SelectSingleNode("thumbnail_medium").ChildNodes[0].Value; } catch { return string.Empty; } }
A maneira mais fácil de JavaScript que encontrei para obter a miniatura, sem pesquisar o ID do vídeo, está usando:
Nota: Se alguém precisar obter a miniatura do vídeo relacionada ao ID do vídeo, ele poderá substituí-lo pelo
$id
ID do vídeo e obter um XML com os detalhes do vídeo:Exemplo:
Fonte
fonte
$id
e você obterá um XML com os detalhes do vídeo (inclua miniaturas).http://vimeo.com/api/v2/video/$id.xml
. por exemplo:http://vimeo.com/api/v2/video/198340486.xml
. Fonte está aqui: coderwall.com/p/fdrdmg/get-a-thumbnail-from-a-vimeo-videoSe você deseja usar miniaturas através de js / jquery no api puro, pode usar esta ferramenta para capturar um quadro do vídeo e pronto! Insira o polegar da URL na fonte que você preferir.
Aqui está uma caneta de código:
Aqui está o site para obter miniaturas:
http://video.depone.eu/
fonte
Usando o URL do Vimeo ( https://player.vimeo.com/video/30572181 ), aqui está o meu exemplo
fonte
Parece que a API / V2 está morta.
Para usar a nova API, você precisa registrar seu aplicativo e a base64 codifica o
client_id
eclient_secret
como um cabeçalho de Autorização.Por segurança, você pode retornar o
client_id
eclient_secret
já codificado do servidor.fonte
Essa é uma maneira rápida e astuta de fazer isso, e também uma maneira de escolher um tamanho personalizado.
Eu vou aqui:
Faça o download do arquivo, abra-o e encontre a miniatura de 640 pixels de largura. Ele terá um formato assim:
Você pega o link, altera o 640 para - por exemplo - 1400 e acaba com algo assim:
Cole-o na barra de pesquisa do navegador e divirta-se.
Felicidades,
fonte
fonte
Na verdade, o cara que fez essa pergunta postou sua própria resposta.
"O Vimeo parece querer que eu faça uma solicitação HTTP e extraia a URL da miniatura do XML que eles retornam ..."
Os documentos da API do Vimeo estão aqui: http://vimeo.com/api/docs/simple-api
Em resumo, seu aplicativo precisa fazer uma solicitação GET para um URL como o seguinte:
e analise os dados retornados para obter o URL em miniatura necessário e faça o download do arquivo nesse URL.
fonte
Eu escrevi uma função em PHP para me permitir isso, espero que seja útil para alguém. O caminho para a miniatura está contido em uma tag de link na página de vídeo. Isso parece fazer o truque para mim.
Espero que ajude alguém.
Foggson
fonte
// na função abaixo, passe o URL da miniatura.
fonte
Decomposição da resposta de Karthikeyan P para que possa ser usada em uma variedade maior de cenários:
Uso
Obtenha um ID do Vimeo a partir de um URL de vídeo do Vimeo:
Obtenha um URL de miniatura do vimeo a partir de um ID do Vimeo:
https://jsfiddle.net/b9chris/nm8L8cc8/1/
fonte
ATUALIZAÇÃO: Esta solução parou de funcionar a partir de dezembro de 2018.
Eu estava procurando a mesma coisa e parece que a maioria das respostas aqui está desatualizada devido ao fato de a API Vimeo v2 estar obsoleta.
meu php 2 ¢:
Com o exposto acima, você obterá o link para a imagem em miniatura padrão do Vimeo.
Se você quiser usar uma imagem de tamanho diferente, poderá adicionar algo como:
fonte
Se você não precisar de uma solução automatizada, poderá encontrar o URL da miniatura digitando o ID do vimeo aqui: http://video.depone.eu/
fonte
Eu criei um CodePen que busca as imagens para você.
HTML
JavaScript:
fonte
Se você está procurando uma solução alternativa e pode gerenciar a conta do vimeo de outra maneira, basta adicionar todos os vídeos que deseja exibir em um álbum e usar a API para solicitar os detalhes do álbum - em seguida, mostra todas as miniaturas e links . Não é o ideal, mas pode ajudar.
Ponto final da API (playground)
Convo no Twitter com @vimeoapi
fonte
Você pode dar uma olhada na joia de Matt Hooks. https://github.com/matthooks/vimeo
Ele fornece um invólucro simples do vimeo para a API.
Tudo o que você precisa é armazenar o video_id (e o provedor, se você também estiver fazendo outros sites de vídeo)
Você pode extrair o ID do vídeo do vimeo assim
e se você precisar de tubo você pode achar isso útil
fonte
Para aqueles que ainda querem uma maneira de obter a miniatura apenas via URL, assim como o Youtube, construíram um pequeno aplicativo que a busca apenas com o ID do Vimeo.
Basta conectar o seu ID de vídeo e ele será puxado e armazenado em cache por 24 horas para que ele seja mais rápido.
Se você quiser fazer o seu próprio, pode fazê-lo aqui .
Repo
fonte
Para alguém como eu, que está tentando descobrir isso recentemente,
https://i.vimeocdn.com/video/[video_id]_[dimension].webp
funciona para mim.(onde
dimension
= 200x150 | 640)fonte