En la última semana estuve trabajando en agregar nuevas funcionalidades a un sitio de un cliente y entre los pedidos estaba una especie de Fotoblog para los usuarios (y bue, hay que pagar las cuentas a fin de mes :P).
La cosa salió rápido, usando Paperclip que guarda las imágenes que se suben, se muestra en orden, etc, nada del otro mundo. Pero hablando con el cliente surgió la idea de hacer que el usuario se pueda tomar una foto directamente desde la web usando su webcam, así que después de decir “si, se debe poder hacer” mentalmente me salió un “doh!, que dije!“. Lo último que se dijo en esa reunión fue “Lo quiero” :D.
Ya había visto juegos flash que utilizan la webcam así que empecé por ahí, para ver como sacaban un frame del video, lo cual era muy fácil. Lo siguiente era serializarla. A falta de algo mejor hice un serializador de imágenes muy pedorro, pero que anda (aunque es lento), que envía por POST la información de cada pixel.
La parte de Ruby fue fácil y decidí encapsularla en un plugin de Rails para poder reutilizarlo luego o por si a alguien más le sirve :). Además se puede integrar con Paperclip o AttachmentFu para hacer la persistencia de la imagen en donde sea.
La única parte que usa Flash es el capturador de la cámara, porque otra no quedaba, pero luego el botón para tomar la foto y los eventos se manejan todo por Javascript.
El plugin tiene varios TODOs, pero por si a alguien le sirve está en github.
Update : A falta de demo, algunas de las fotos tomadas con la aplicación de ejemplo que hice hoy durante Locos x rails.
Tenés que pensar dos veces antes de decir “sí, se debe poder hacer”. 😛
Hablando en serio, suena copado. Estaría bueno ver una demo de eso funcionando.
Abrazo.
Me gustaMe gusta
Si, pensé colgar un demo, pero me fiaca poner un entorno donde no me llenen el disco por sacarse fotos :).
Puse algunos ejemplos generados hoy en el post.
Me gustaMe gusta
Tenés que pensar un poco antes de ponerte a ver cómo Ricardo hace andar una cámara de fotos desde el navegador… Porque después aparecés escrachado! jajaj
Me gustaMe gusta
Nadie escapa al escrache 😀
Me gustaMe gusta
[…] unos meses publiqué un plugin para tomar fotos instantáneas desde una página web, usando Flash y un plugin para Ruby on […]
Me gustaMe gusta
Muy buen plugin, Pero me pregunto si es posible moduralizarlo en dos partes : clientside y serverside, para poder manejar sin ruby el backend. No entendi que hace el serializador? un bmp y lo manda por post ??
Me gustaMe gusta
Si, podés usar el SWF separado y recibir el POST con PHP, por ejemplo. Ahora no recuerdo el nombre exacto de donde te llega, creo que era HTTP_RAW_DATA o algo así.
Lo que te envía es un JPG hecho y derecho.
Me gustaMe gusta