Hace ya más de un añito que unvlog salió a la luz y durante todo este tiempo hemos ido añadiendo soporte para más servicios de video a la criatura.
Como cualquier 'equipo A' que se precie teníamos un plan: sólo integraríamos servicios que tuviesen API. Pero un día implementas el primero que no la tiene, después ves que la estructura inicial la podías haber planteado de otro modo... y a la vuelta de un año tienes un montón de código esparcido por controladores, modelos y módulos que necesita orden.
De este 'barrer la casa' ha salido el plugin acts_as_unvlogable que permite sacar de varios servicios de video, más o menos populares, una información básica a partir de la url.
Por ejemplo. Si tenemos este preciosos video de vimeo: http://vimeo.com/1766353 podemos averiguar su título, conseguir un thumbnail, la url del embed, el html necesario para embeberlo y la url del flv así de fácil:
video = UnvlogIt.new("http://vimeo.com/1766353")
video.title
# => "Nice Clean White"
video.thumbnail
# => "http://images.vimeo.com/ [...] /141150563_506.jpg"
video.embed_url
# => "http://vimeo.com/moog [...] how_portrait=1"
video.embed_html(400, 300)
# => " object width='400' height='300' [...] /object"
video.flv
# => "http://www.vimeo.com/ [...] /video.flv"
La elección de estos datos y no otros es porque nostros utilizamos en la aplicación, y porque es el minimo común en todos los servicios.
Para saber cómo instalarlo, conocer todos los métodos y en general para tener información totalmente actualizada te recomiendo que le eches un vistazo a la página del plugin.
El plugin tiene dos dependencias, youtube-g y hpricot.
En esta versión del plugin los servicios soportados son:
- Youtube
- Google video
- Vimeo
- Flickr (videos)
- Metacafe
- Dailymotion
- Collegehumor
- Blip.tv
- Myspace
- Ted Talks
- 11870.com
- Qik
- Marca.tv
- Dalealplay
Estamos abiertos a incluir muchísimos más, no os cortéis en pedir! Además todos los que vayamos integrando en unvlog, acabarán en el plugin.
La intención es mantener el plugin vivo y hacerlo evolucionar, así que si lo usáis en una aplicación y encontráis cualquier fallo o deja de funcionar algún servicio o tenéis alguna idea para hacerlo más útil nos gustaría que nos lo contases en nuestro sistema de soporte.















dagi3d 5 ene 2009 - 03:59 AM
Muy majete el plugin. Lo único que mejoraría del código es la manera de incluir los distintos wrappers, que os obliga a modificar el código principal cada vez que queráis añadir uno nuevo.
Yo lo que sugeriría sería una solución que cargase los ficheros de manera dinámica tal que así por ejemplo:
Dir.glob("vg_*").each {|file| require file}
Enhorabuena por el proyecto que estáis haciendo!
xurde 5 ene 2009 - 09:26 AM
Jisuscraist!
Alguien te tendría que poner un piso en el centro de Madrid por esto.
Creo que me viene genial para uno de los asuntos en que ando. Cuando te vea te pago unas cañas. Vive Dios!
mamuso 5 ene 2009 - 09:38 AM
@dagi => acabo de comitearlo, muchísimas gracias!
@xurde => Vive Dios que nos las tomaremos con o sin plugin de por medio!
mort 5 ene 2009 - 11:44 AM
Seguir en twitter el pingpong para mejorar el plugin ha sido precioso. Muchas gracias a los unvlogueros y al resto de implicados :)
carakan 5 ene 2009 - 11:54 PM
Genial plugin y era algo que estaba buscando hace bastante tiempo, y que implemente a mi manera algo rudimentaria, felicitaciones!!!
Saludos y tomare en cuenta este plugin para otros proyectos.
blat 6 ene 2009 - 10:41 AM
Congrats mamusez :)
mamuso 6 ene 2009 - 02:53 PM
@mort => como diría el gran @choan, como mola tuithub :)
@carakan => espero que lo aproveches!
@blat => y a ti por la parte que te toca!!
blat 6 ene 2009 - 08:42 PM
Jajajajaja, si no he hecho ná! además, de verdad :D
mamuso 6 ene 2009 - 09:50 PM
hombre, ciertas partes del código no han salido de la nada :)
NIco Orellana 10 ene 2009 - 08:19 AM
Justamente estamos armando algo que en una parte tendrá el tema de videos propios (pandastream) y queriamos dar la opcion de poner la url y vuala.
Mil gracias locos! les cuento cuando lo tenga implementado.
Nico
QuarK 22 abr 2009 - 01:08 PM
Yepa! vaya, he intentado descargarlo pero dice que en git://github.com/mamuso/acts_as_unvlogable.git no hay plugin alguno (-.- ;)
Miguel Michelson 6 dic 2009 - 12:17 AM
Hola , Mamuso, exelente plugin, ya llevo 1 año usandolo en artenlinea.com ,
pero hace unas semanas encontré un error al tratar de extraer el link del flv en los videos youtube
lib/vg_youtube.rb
linea: 42 , t = doc.split("&t=")[1].split("&")[0]
encuenta un nil en doc.split("&t=")[1] y como se le trata de hacer un split a un nil el metodo lanza una excepcion antes del rescue aau en la linea 44 ( @object.flv rescue nil)
finalmente lo deje asi
def flv
doc = URI::parse(@url).read
begin
t = doc.split("&t=")[1].split("&")[0]
rescue
return nil
end
return "http://www.youtube.com/get_video.php?video_id=#{@video_id}&t=#{t}"
end
asi no lanza excepciones , pero tampoco retorna flv
Saludos!
mamuso 7 dic 2009 - 01:16 AM
Hola Miguel.
Acabo de actualizar el plugin y ya retorna el flv :)
miguel michelson 7 dic 2009 - 03:35 PM
muchas gracias Mamuso!
lo actualizaré lo antes posible en mi app,
saludos!