Quiero obtener una imagen en miniatura para videos de Vimeo.
Cuando obtengo imágenes de Youtube, simplemente hago esto:
http://img.youtube.com/vi/HwP5NG-3e8I/2.jpg
¿Alguna idea de cómo hacer para Vimeo?
html
thumbnails
vimeo
Johan
fuente
fuente
Respuestas:
De los documentos de Vimeo Simple API :
Hacer una solicitud de video
Entonces, obtener esta URL http://vimeo.com/api/v2/video/6271487.xml
Analice esto para cada video para obtener la miniatura
Aquí hay un código aproximado en PHP
fuente
xml
. ¿Cómo puedo obtenerthumbnail_small
conphp
?thumbnail_large
de i.vimeocdn.com/video/23566238_640.webp a i.vimeocdn.com/video/23566238_640.png o i.vimeocdn.com/video/23566238_320.jpgEn javascript (usa jQuery):
Para mostrarlo:
fuente
$(id_img).before
y$(id_img).attr
porcreateElement
y un más básicogetElementById(id_img).src
, pero no lo habría obtenido en absoluto si no fuera por su ejemplo.Debe analizar la respuesta de la API de Vimeo. No hay forma de hacerlo con llamadas URL (como dailymotion o youtube).
Aquí está mi solución PHP:
fuente
Usando la solicitud jQuery jsonp:
fuente
<div id='12345678' class='vimeo_thumb'></div>
, y eso se llenaría con la imagen en miniatura.$.getJSON('http://vimeo.com/api/v2/video/' + video_id + '.json?callback=?', function (data) {...
Con Ruby, puede hacer lo siguiente si tiene, por ejemplo:
fuente
require 'open-uri'
permitir abrir para analizar los URI y los archivos.Aquí hay un ejemplo de cómo hacer lo mismo en ASP.NET usando C #. Siéntase libre de usar una imagen de captura de error diferente :)
NOTA: Su solicitud de API debería ser así cuando se solicite: http://vimeo.com/api/v2/video/32660708.xml
fuente
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; } }
La forma más fácil de JavaScript que encontré para obtener la miniatura, sin buscar la identificación del video es usando:
Nota: Si alguien necesita obtener la miniatura del video relacionada con la identificación del video, puede reemplazarla
$id
con la identificación del video y obtener un XML con los detalles del video:Ejemplo:
Fuente
fuente
$id
y obtendrás un XML con los detalles del video (incluye miniaturas).http://vimeo.com/api/v2/video/$id.xml
. por ejemplo:http://vimeo.com/api/v2/video/198340486.xml
. La fuente está aquí: coderwall.com/p/fdrdmg/get-a-thumbnail-from-a-vimeo-videoSi desea utilizar la miniatura a través de js / jquery no api puro, puede usar esta herramienta para capturar un fotograma del video y ¡listo! Inserte el pulgar de la URL en la fuente que desee.
Aquí hay una pluma de código:
Aquí está el sitio para obtener miniatura:
http://video.depone.eu/
fuente
Usando la url de Vimeo ( https://player.vimeo.com/video/30572181 ), aquí está mi ejemplo
fuente
Parece que api / v2 está muerto.
Para usar la nueva API, debe registrar su aplicación , y base64 codifica el
client_id
yclient_secret
como un encabezado de Autorización.Para mayor seguridad, puede devolver el
client_id
yclient_secret
ya codificada desde el servidor.fuente
Esta es una forma rápida y astuta de hacerlo, y también una forma de elegir un tamaño personalizado.
Voy aqui:
Descargue el archivo, ábralo y busque la miniatura de 640 píxeles de ancho, tendrá un formato como este:
Toma el enlace, cambia el 640 por - por ejemplo - 1400, y termina con algo como esto:
Pégalo en la barra de búsqueda de tu navegador y disfruta.
Salud,
fuente
fuente
En realidad, el tipo que hizo esa pregunta publicó su propia respuesta.
"Vimeo parece querer que haga una solicitud HTTP y extraiga la URL en miniatura del XML que devuelven ..."
Los documentos de la API de Vimeo están aquí: http://vimeo.com/api/docs/simple-api
En resumen, su aplicación necesita hacer una solicitud GET a una URL como la siguiente:
y analice los datos devueltos para obtener la URL en miniatura que necesita, luego descargue el archivo en esa URL.
fuente
Escribí una función en PHP para permitirme esto, espero que sea útil para alguien. La ruta a la miniatura está contenida dentro de una etiqueta de enlace en la página de video. Esto parece hacer el truco para mí.
Espero que ayude a cualquiera.
Foggson
fuente
// en la función de abajo pasa la url de la miniatura.
fuente
Descomponiendo la respuesta de Karthikeyan P para que pueda usarse en una gama más amplia de escenarios:
Uso
Obtenga una identificación de Vimeo de una URL de video de Vimeo:
Obtenga una URL de miniatura de vimeo de un ID de Vimeo:
https://jsfiddle.net/b9chris/nm8L8cc8/1/
fuente
ACTUALIZACIÓN: Esta solución dejó de funcionar a partir de diciembre de 2018.
Estaba buscando lo mismo y parece que la mayoría de las respuestas aquí están desactualizadas debido a que Vimeo API v2 está en desuso.
mi php 2 ¢:
con lo anterior obtendrá el enlace a la imagen en miniatura predeterminada de Vimeo.
Si desea usar una imagen de diferente tamaño, puede agregar algo como:
fuente
Si no necesita una solución automatizada, puede encontrar la URL en miniatura ingresando el ID de vimeo aquí: http://video.depone.eu/
fuente
Creé un CodePen que busca las imágenes para ti.
HTML
JavaScript:
fuente
Si está buscando una solución alternativa y puede administrar la cuenta de vimeo, hay otra manera, simplemente agregue todos los videos que desea mostrar en un álbum y luego use la API para solicitar los detalles del álbum; luego muestra todas las miniaturas y enlaces . No es ideal, pero podría ayudar.
Punto final de API (área de juegos)
Twitter convo con @vimeoapi
fuente
Es posible que desee echar un vistazo a la gema de Matt Hooks. https://github.com/matthooks/vimeo
Proporciona un envoltorio vimeo simple para la API.
Todo lo que necesita es almacenar el video_id (y el proveedor si también está haciendo otros sitios de video)
Puedes extraer la identificación del video vimeo así
y si necesitas tu tubo puedes encontrar esto útil
fuente
Para aquellos que todavía desean una forma de obtener la miniatura solo a través de la URL, al igual que Youtube, se creó una pequeña aplicación que solo la obtiene con la ID de Vimeo.
Simplemente conecte su ID de video y lo extraerá y lo almacenará en caché durante 24 horas para que sirva rápidamente.
Si desea girar el suyo, puede hacerlo aquí .
Repo
fuente
Para alguien como yo que está tratando de resolver esto recientemente,
https://i.vimeocdn.com/video/[video_id]_[dimension].webp
funciona para mi.(donde
dimension
= 200x150 | 640)fuente