Lo mismo arreglo un cachivache, que fabrico un chirimbolo.
 RSS 2.0 

Posts filed under 'General'

Mesa de CDs (recicla CDs parte II)

800 CDs no ocupan demasiado, como metro cincuenta de altura mas o menos, lo malo es si vienen con sus respectivas cajas, ufff. ¿Que hago con las cajas?

Con 4 cajas se puede hacer un cubo bastante chulo, que por si solo no sirve para mucho mas que para guardar bolis o poner fotos, pero ¿que tal si hago un montón de estos cubos y los pego unos a otros?
Pues pasa que se pueden construir estructuras bastante estables y transparentes aunque para que lo sigan siendo, conviene pegarlos con algo sólido y transparente, como cola termofusible, por ejemplo, aunque silicona también valdría (pero tarda mucho mas en curar) y evitar pegamentos con disolventes o cianocrilatos, que manchan y velan el poliestileno del que están hechas dichas cajas.

Como tenía un vidrio de 200x50cm apoyado en una pared desde hacía un par de años, pensé que podría convertirse en una mesa si le conseguía unas patas que se sostuviesen por si solas y que no necesitasen atornillarse, y así es como se me ocurrió que podía fabricar unas patas a partir de los cubos de cajas de CD. En total tuve que montar 42 cubos, es decir, desarmar 168 cajas de CD, y volver a montarlas. Cuando llevas ya cuatro o cinco tienes tal soltura que los construyes a toda velocidad.
Mesa con cajas de CD
Ahora esta mesa es el inicio de mi museo retroinformático, al que algún dia dedicare algunos posts. No es demasiado nutrido, pero tiene joyitas como mi spectrum del 84 o un Amiga 500 que nunca tuve en su época.

Por si quedan dudas de como se hace todo esto, he preparado un video instructivo de como hacer estos cubos donde se puede ver lo rápido que se montan.



1 comment septiembre 12th, 2012

CD Lamp (reciclando CDs parte I)

pila de 800 CDsEn algún momento entre que dejé de escribir en 2010 y ahora, un colega mio se mudó de casa. Los antiguos dueños tenían una empresa de diseño gráfico y se dejaron algunas cosas: una Epson de inyección a color A3, un Mac Quadra del año de la polka y unos 800 CDs con sus correspondientes cajas.
Como cuanto mas mayor me hago, mas síndrome de diógenes me entra, no pude con la idea de tirar todo ese material plástico y adopté a los CDs. El resto a la basura; el Mac no pegaba en mi museo retroinformático y estoy en contra de las impresoras (la tinta es el líquido mas caro del planeta, es peor que tener un coche).

Pasé meses husmeando por internet para ver si alguien había hecho algun proyecto reciclando CDs y sus cajas. Había muchas cosas obvias, como los espantapájaros o posavasos, muchas moñerías, como portafotos, relojes o sujetavelas y muchas cosas feas como espejos o esculturas incluso algun concepto rayano lo imposible, como el sillón de CDs para el que desafortunadamente, no tenía suficiente material porque se necesitan 4.232 CDs.
Pero también había un buen número de lámparas, y bien ejecutadas no me parecían mala idea. Así que fue lo que elegí hacer.

Escultura de CDs Panda chair Lamp
¿Cual elegir?

De entre los muchos proyectos que hay por internet, el que mejor aspecto tenía era The Shining Light de iamthechad y es el que tomé de ejemplo.
Los CDs no quería taladrarlos, que es un infierno, así que decidí rodearlos con tres tubos de aluminio que los sujetan en su sitio. Partes de la lámparaLos tubos de aluminio sirven de guia para las varillas roscadas que mediante unas tuercas, aprisionan todos los CDs que se encuentran en medio entre las tapas de madera. Las tuercas quedan luego escondidas dentro de una segunda tapa.
Lo mas complicado fue cortar las tapas de madera, en forma de círculo. La sierra de calar no es una opción, sale muy irregular, así que corté unos octógonos y mediante una plantilla con un clavo que permitía el giro concentrico de estos, lo acercaba a la sierra de mesa y girando girando obtuve círculos.
Luego les practiqué un orificio en el centro y los atravesé axialmente con una varilla roscada, ajustándolos con tuercas. Esto se coloca en la taladradora dando vueltas a toda velocidad y se le va pasando una lija por el exterior hasta que todos los círculos quedan iguales y lijados.
Para la iluminación, compré una sencilla tira de leds SMD autoadesivos de 1 metro (en realidad eran dos tiras de 50 cm enchufables en serie) con su correspondiente transformador. La tira de leds la pegué a un listón de madera de un grosor un poco menor que el diámetro del agujero de los CDs, y longitud igual a la mitad de una tira, unos 25cm. De este modo las cuatro caras del listón quedaban cubiertas con los leds y todo el conjunto cabía justo por el orificio de todos los CD.CD Lamp en la pared
En mi caso la lámpara iba a ir colgada a modo de aplique horizontal en una pared, justo encima de una caja de registro eléctrica (de hecho necesitaba la lámpara también para tapar la caja) por lo que el transformador lo metí dentro de la propia caja, quitandole la clavija de enchufe y conectando los cables de la placa del transformador directamente a una clema.

El cable de los leds sale por una ranura practicada en el interior de una de las tapas de madera.
Lijar y barnizar las tapas, atornillar todo el conjunto, poner las contratapas, ponerle unos ganchitos en las tapas y ale, así queda colgada de la pared.

El tamaño total es de 16cm de diámetro y unos 28cm de largo, que no está mal. Hay que tener en cuenta que los CDs que lleva pesan bastante por lo que hacerla mas grande significaría tener que meter unas buenas escarpias a la pared.
La iluminación que da no es para echar cohetes, es mas una luz de ambiente, pero es lo que yo necesitaba para esa parte de la casa.

Lo malo… que de los 800 CDs solo he usado 70. Creo que tendré que empezar a hacer cosas feas o moñerías si quiero reusarlos todos, por que hacer lámparas en serie… no tengo alma de fábrica ni veo mucho negocio en esto :)

1 comment septiembre 2nd, 2012

Estantería “Donkey Kong”

El pasado mes de Junio conseguí terminar algo que llevaba tiempo en mi lista de QUEHACER (TODO list para los que no lo hayan entendido) el interpretar y realizar una versión de una idea genial que tuvo Igor Chak, un diseñador industrial que personalmente me causa admiración, de crear una estantería para el salón basada en el clásico de los videojuegos “Donkey Kong“.
Estantería donkey kong y sofá space invaders
Igor Chak es también el creador del sofá “space invaders”, que por cierto pasó de ser un concepto a ser un producto que vende en su propia página web (por 5000 dolares de nada, gastos de envío aparte, por si os interesa).

Yo no aspiraba a tanto, el concepto de estantería estaba pensado para hacerse en fibra de carbono, aluminio, acero inoxidable y tapas de cristal templado… una pasta, vamos. Además tampoco necesitaba una estantería, hace mucho que no compro libros, ni CDs ni adornos para el hogar, así que mi proyecto se adaptó al material y al tiempo que tenía disponible, que era mas bien escaso.

Con un par de baldas de una estantería de malla de acero cromada que se encuentran fácilmente en LM y mi amiga la dremmel me hice varios pisos del entorno del juego original. Baldas de acero cromadoCorté las estanterías por la mitad longitudinalmente y usé los nervios de acero de los extremos doblándolos a modo de ganchos, para que la estantería se pueda enganchar en un soporte de aluminio que también fabriqué para la ocasión y que va atornillado a la pared.

Para emular los barriles, use un par de latas de refresco a las que les eliminé la pintura con un buen lijado, así quedan en aluminio bruto y no desentonan con el acero de las estanterías.
Por último, las escalerillas, las saqué de algunos de los nervios de la mitad de estantería que me sobraba, y las pegué en su sitio con cola termofusible.
Como toque final, unas figuritas compradas baratas en la inagotable fuente de chorradas chinas que es DX y aquí está el resultado.

Donkey kong shelf
Es una lástima que no tenga fotos del proceso, pero sinceramente, pensé que nunca volvería a escribir en el blog :D .

Y volviendo al Donkey Kong, he de confesar que me gusta este juego porque a pesar de que el mono gordo basado en King Kong era el “malo” del juego, resultó tener mas protagonismo que el protagonista, que era Mario (Jumpman por aquel entonces), supongo que principalmente debido al propio nombre del juego. Esto sucedía en 1981 y de hecho en 1982 Mario fue el malo del juego en Donkey Kong Jr. que era la secuela. Mario no se convirtió en Mario y en un héroe hecho y derecho hasta que salió Mario Bros en 1983.

6 comments agosto 28th, 2012

La rosca de un trípode

Mr Whitworth era un honorable ingeniero mecánico Inglés del siglo XIX (en ese siglo los ingenieros aún eran honorables) que en 1841 se le ocurrió la brillante idea de normalizar los tamaños de las roscas de los tornillos para que todos fueran iguales y gracias a que los ferrocarriles de la época adoptaron su sistema para producir los tornillos de su maquinaria, su normalización se convirtió en el estándar inglés: la rosca Whitworth.

Por azares del destino, o quizás no, la rosca whitworth es muy, pero que muy parecida a la rosca definida por el estandar DIN4503 que es el que rige las roscas de los acoplamientos y soportes de equipos de fotografía y vídeo.
Diferencias entre whitworth y americana
En DIN4503 se especifica una rosca 1/4-20UNC que significa 1/4 de pulgada de diámetro, 20 hilos
por pulgada con corte a 60º , paso unificado grueso, tipo americana (a lo mejor por eso la similitud no es casual, ya que la norma americana, creada por William Sellers 20 años después, partió de la inglesa que usaba el mismo sistema imperial de unidades).

En rosca whitworth podemos encontrar tornillería de 1/4 de pulgada, que tendrá el mismo número de hilos y mismo tamaño de filete, aunque el corte es a 55º.

En mi último desafío constructivo he necesitado incluir uno de estos tornillos en un soporte para unas cámaras de vídeo y al final he conseguido los tornillos whitworth, no sin cierta dificultad (pregúntale al ferretero de tu barrio, a ver que te dice), que me han servido perfectamente para amarrar varias cámaras comerciales con su rosca DIN4503.

Hay gente que dice que esa diferencia de angulo en los filetes puede dañar las roscas, pero a mi no me ha parecido suficientemente peligroso como para no arriesgarme.

6 comments septiembre 1st, 2010

Escultura al pixel

Una vuelta alrededor del sol después, se repitieron los mismos ritos ancestrales mas o menos ridículos e incuestionados que rigen nuestras vidas. Los regalos de la abducida fiesta pagana de la saturnalia o el solsticio de invierno fue uno de ellos. Afortunadamente esta vez me tocó regalar a alguien fácil. Alguien que comprende una broma geek, un chiste de informático y que ha jugado a videojuegos en algún momento de su vida.
Mi regalo no lo compré, lo fabriqué, porque hacía mucho que no fabricaba nada, porque hacía mucho que no publicaba en Makinolo, y porque me apetecía, hombre.

Se trata de un proyecto que vi en instructables hace meses, de un usuario llamado Pie Ninja, que a su vez es una adaptación de lo que hizo un tal Swoozie y que publicó en su videoblog hace cosa de un año.
Hacer una escultura al pixel es un proyecto interesante para alguien que ha vivido la época de los videojuegos de 8 bits, y que ha tenido que hacer algún proyecto de ese tipo en algún momento de su vida. Los 8 bits son el colmo de la síntesis, la explosión del minimalismo; es sacar la esencia de las cosas para representarlas en la mínima expresión, tanto en imagen como en audio. Los juegos en sus inicios lo usaron por necesidad y alcanzaron una maestría incuestionable, no tenían otra alternativa, pero hoy en día es ya una forma mas de arte.

Quizás los iconos mas representativos de los 8bits han sido el comecocos y sus fantasmas, los marcianos del space invaders, Link de Zelda y como no, Mario Bros y sus inseparables setas.
Para el regalo, que ha sido como el prototipo 0 donde aprenderé de los errores he elegido algo ni muy fácil ni muy difícil (solo he dispuesto de 3 días). He optado por la versión de SNES de Mario Bros.
Como no me caracterizo precisamente por ser mainstream, incluso dentro de lo friki, para el segundo intento he elegido algo completamente distinto. He encontrado por internet a Donna Pike, que se autodenomina “Arcade Artist” que ha hecho la síntesis a 8 bits de un personaje que para mi marcó un antes y un después en el mundo de los videojuegos, y que por supuesto no era un personaje de 8 bits, sino 3D. Gordon Freeman 8 bits
Se trata de Gordon Freeman, el protagonista de Half Life, padre indiscutible del CounterStrike que se basó en su motor gráfico y de casi todas las aventuras FPS que han venido después.

Una vez terminados ambos proyectos, tres meses después de comenzarlos, voy a explicar como hice el segundo, con las lecciones aprendidas.

Lección número 1:
La imprimación tarda en secarse, la pintura tarda en secarse, el pegamento tarda en secarse.

Pero vamos al lío, para hacer este tipo de esculturas se necesitan pixeles de madera, en tamaño y cantidad adecuados al sprite que queramos representar. Para conseguirlos lo mejor es fabricarlos (o encontrar una tienda de juguetes donde aun tengan construcciones de madera, lo cual es casi misión imposible o, mi último descubrimiento, pedirlos a USA a maydaygames) a partir de listones de madera finos, que troceamos convenientemente.

Lección número 2:
Es mas fácil dar imprimación a 8 listones antes de cortarlos, que a 940 caras de cubos.

En el caso que me ocupa, el sprite tiene 32 pixels de alto, lo que con unos cubos de 2cm me dan una altura final de 64 cm, mas lo que mida el soporte.
El sprite tiene dos caras distintas, el anverso y el reverso. En el primer prototipo las dos caras eran iguales en color, dando una la imagen especular de la otra. En esta ocasión una es la vista anterior y la otra la posterior, los colores son distintos y por tanto he decidido que voy a tener 470 cubos para una cara y 470 para otra. Además hacer la escultura de grosor doble le dará mas estabilidad y me dejará mas sitio para meter tornillos de sujeción a la base.
Después de conseguir los 940 cubitos de madera hay que lijar al menos las dos caras del corte, que habrán quedado bastante rugosas.

Lección número 3:
Si agrupas los cubitos y los amordazas con 4 mártires para que no se muevan, se tarda mucho menos y queda mejor que si lijas uno a uno cada cubo.

Con los cubos cortados y lijados, procedemos al agruparlos por color, para pintarlos todos juntos. Para ello debemos contar cuantos pixels de cada color tiene el motivo. Elegiremos la cara del cubo que mejor pinta tenga y los agrupamos en cuadrados o rectángulos, rodeados por cinta de carrocero, así evitamos que se pinten por donde no tienen que pintarse y de paso permanecen unidos si los tenemos que mover para que se sequen en otro sitio con menos polvo, aire, pelos y otras partículas que sin duda querrán depositarse sobre la pintura.

Lección número 4:
Cuenta bien los pixels, vuelve a contarlos y recuéntalos una vez más. Si no lo haces te darás cuenta de que te has equivocado cuando ya hayas pintado todos, los estés pegando y de repente te faltan 2 verdes, 15 naranjas… o 100 negros. Definitivamente, no quieres que eso pase.

Lección número 5:
Lo habitual es usar papel de periódico para cubrir el suelo y que no se manche con la pintura de spray. El papel de periódico se pega a la pintura cuando esta se está secando. Usa plásticos en vez de papel y procura dejar secar perfectamente una cara del cubo antes de pintarlo por el otro lado si es que lo vas a pintar por ambas caras.

Una vez pintados y secos todos los cubos, procedemos al pegado. Lo mejor es ir pegándolos por filas, y una vez que se tengan las filas, pegar de 4 en 4 entre si, para una vez seco cada sector, pegarlos a su vez entre si. Es muy importante que todas las filas queden “a plomo”, para que luego la figura no se venza hacia delante o atrás cuando la pongamos sobre la peana.
El mejor pegamento para esto es probablemente la cola de carpintero, pero si tenéis prisa (como tenía yo en la construcción de Mario) necesitareis un pegamento que tenga un agarre inicial bueno y un secado rápido. Yo usé 4 distintos, a medida que se me acababan tanto el pegamento como el tiempo. Descartad el “No mas clavos” que es mas malo que un dolor. La cola termofusible tampoco vale, seca demasiado rápido y es muy frágil. El pegamento de epoxi bicomponente (nural, araldit) vale, pero te gastarás una fortuna si lo usas.
Aparte de la cola de carpintero, una buena opción, aunque algo mas cara, es el montakit (imedio) o montack (ceys) que es lo mismo, adhesivos basados en neopreno los dos. De los mejores pegamentos que he probado.

Una vez estén todas las piezas pegadas y secas, unimos todo el conjunto a la peana que habremos fabricado con otro trozo de madera imprimado, pintado o barnizado y secado. La peana llevará dos orificios avellanados por debajo para meter tornillos que atraviesen las primeras filas de la figura, cuanto mas alta sea la figura, mas largos deberán ser los tornillos. Es mejor hacer los orificios antes de pintar para no estropear la pintura cuando ya esté seca.

Lección número 6:
Si trabajas en un planeta con gravedad mayor de 0, procura pintar y barnizar las piezas en horizontal, aunque eso te suponga esperar el doble por tener que pintar una cara, dejar secar y luego la otra cara. Si pintas vertical lo mas probable es que aparezcan gotas que resbalan hacia el suelo, que luego tendrás que lijar para volver a repintar.


Este proyecto es uno de los que mas paciencia han requerido de los que he hecho, porque el proceso es bastante rutinario (es decir, un coñazo increíble). Además la falta de tiempo libre que sufro desde hace 1 año me ha hecho tardar mas de 3 meses en finalizar por completo el proyecto.

Si tuviera que hacer otro, y ahora no se me ocurre ninguna razón suficientemente sugerente para ello, sin duda trataría de comprar los cubos ya cortados y lijados, porque es una tarea muy pesada y porque la maquinaria que tengo en casa no garantiza la exactitud de todos los cortes, y por tanto la igualdad de todos los cubos, por lo que la pieza final tiene un aspecto artesanal que le da cierto encanto, pero a la vez me desagrada en cierta manera. Si alguno sabe de alguna carpintería en este santo país en la que te fabriquen cubos de madera de 2cm de lado, que me lo cuente, por favor.

Y de bonus, el vídeo howto. No asustarse, he conseguido resumir 3 meses en 10 minutos, que es el tope que deja subir Youtube. Y si, ya se que está en Inglés, pero es que así satisfago a mis hordas de fans del mundo entero.



7 comments abril 12th, 2010

Camino de Santiago Virtual

No, no es que vaya a ir con un burro cargado con la cámaras de 11 objetivos que usa Google para el street view, aunque molaría, mas bien es una actividad que me he propuesto hacer para motivarme a entrenar un poco más.
Quiero hacer el camino de Santiago desde Madrid (aunque siendo fiel a mi filosofía de ser un cretino diferente, creo que cuando lo haga, lo haré al revés, de Santiago a Madrid), pero eso no va a poder ocurrir hasta que tenga unas vacaciones de las de la gente normal, de esas que hace un año que no tengo, así que entre tanto se me ha ocurrido prepararme para el viaje haciendo el recorrido “virtualmente”.
Tengo el track GPS de la ruta completa hecho por Rafa Esva bajado de wikiloc. Tengo un rodillo Tacx Fortius conectado al PC. Tengo el software TTS 2.0 cortesía de Tacx B.V. que está integrado con google earth plugin… solo me hacen falta ganas y una horita y media diaria.
El autor original de la ruta tardó 10 días a unos 70 km diarios… claro que el tenía todo el día. Yo tardaré mas, unos 18. De momento solo puedo hacer unos 40Km al día, lo que duran un par de capítulos de StarTrek TNG que me veo al mismo tiempo que veo la ruta en google earth para no aburrirme demasiado; a ver si al llegar a la planicie castellana me cunden un poco mas las etapas, que mañana me toca pasar a Segovia y la Fuenfría puede ser mortal con una bici de carretera.

Se que no es lo mismo, se que no es igual, pero me consuelo pensando que yo tengo una ventaja, en cuanto me bajo de la bici no tengo que buscar alojamiento ni restaurante porque ya estoy dentro de el.

  1. 2009-12-08 Cerro de los Ángeles – El Goloso: Paseito por el anillo ciclista de Madrid hasta salir por el norte. 42Km
  2. 2009-12-09 El Goloso – Matalpino: Ya he llegado a las faldas de la sierra. Atravesar Colmenar viejo ha sido duro. Hoy mas cuestas que ayer, pero menos que mañana. 36Km
  3. 2009-12-10 Matalpino – Inmediaciones de La Granja: El puerto de la fuenfría se ha hecho duro pero ha sido mucho peor el pueblo de cercedilla y navacerrada. Los GPS dan valores de altitud muy erráticos cuando entras en poblaciones y eso hace que el rodillo me marque pendientes de entre el 11 y el 20% en algunos puntos. Rompen el ritmo y desesperan. 42Km
  4. 2009-12-11 La granja – Pinilla-Ambroz: La provincia de segovia parece que está hecha al reves, es cuesta abajo de sur a norte. Hoy no tenia mucho tiempo y no he podido llegar a Santa María la Real de Nieva. Este finde tengo que “descansar”. El lunes retomo. 40Km.
  5. 2009-12-16 Pinilla-Ambroz – Alcazarén: Después de que ayer se estropease el TTS hoy tocaba to pabajo por la llanura castellana. Una vez recuperado el TTS he conseguido hacer una buena etapa. 53Km.
  6. 2009-12-17 Alcazarén – Ciguñuela: Bordeando Valladolid con perfil bastante asequible. 42Km.
  7. 2009-12-28 Ciguñuela – Medina de rioseco Un par de mesetas de las que se baja y a las que se sube. Peñaflor tenia pendientes del 20%, afortunadamente, cortas. 39Km
  8. 2009-12-29 Medina de rioseco – Fontihoyuelo Bonito paseo por la vega del rioseco. 40Km
  9. 2009-12-30 Fontihoyuelo – Bercianos del real camino Pasando de Valladolíd a la provincia de León, temo que echaré de menos esta llanura castellana cuando pase Astorga. 42Km.
  10. 2010-02-21 Bercianos del real camino – La virgen del camino Tras casi dos meses “viviendo” virtualmente en Bercianos por motivos laborales, me pongo en marcha de nuevo y atravieso Leon en un bonito paseo turistico de varios kilometros. Hoy me quedo aqui al lado del aeropuerto, a ver si con el ruido me obligo a seguir mañana . 47Km.
  11. 2010-02-23 La virgen del camino – San Justo de la vega Otro empujoncito hasta llegar a las inmediaciones de Astorga. Ya no queda nada para que comience la montaña de verdad.
    43.5Km
  12. 2010-03-10 San Justo de la vega – Rabanal del camino Pasada Astorga ya estamos subiendo puertos, pero hoy hay poco tiempo y la etapa ha sido cortita. 26Km
  13. 2010-03-11 Rabanal del camino – Ponferrada Hoy me he visto con una de las subidas mas importantes del camino con alguna pendiente de hasta el 15%. He bajado hasta Ponferrada y aqui me quedo que la bici está un poco averiada por una salida de cadena y se hace muy pestoso pedalear en marchas largas. Tambien he sufrido una desconexion misteriosa del rodillo al finalizar el primer puerto. 35Km
  14. 2010-03-23 Ponferrada – La pobla de Valcarce Despues de un llano que no era mas que un espejismo, me interno por el valle por el que discurre la A-6 pasando por Cacabelos hasta llegar a la estacion de servicio de Valcarce. 39.5Km.
  15. 2010-04-14La pobla de Valcarce-Lavadoiro Supongo que lo que acabo de subir era O cebreiro, no he podido fijarme mucho porque he ido todo el rato mirando al suelo. Pendientes toda la subida de entre el 9 y el 15%, muy duro, por eso hoy solo 20Km. Me he quedado en un collado en lo alto del puerto.en una zona de pallozas. Ya estoy en Galicia!! Llevo 587
  16. 2010-04-18 Lavadoiro – Sarria Hoy casi todo bajada, aunque de vez en cuando salteada con alguna pendiente imposible. Me veo a tiro de piedra del final, ya solo falta un obstaculo. 47Km. Llevo 634
  17. 2010-04-20 Sarria – Gonzar Que risa me da el falso llano lucense, que cantidad de subebaja, lo peor que los “sube” son siempre al 11%. He cruzado el Miño en portomarín, y ya no debe quedar demasiado.33.5Km. Llevo 667
  18. 2010-04-22 Gonzar – Trigas El estar llegando me da fuerzas renovadas. Ya solo me queda una etapa mas! Hoy 40.5Km. Llevo 707
  19. 2010-05-3 Trigas – Santiago de compostela Por fin!, tras una semana de costipado, he encontrado tiempo y fuerzas para terminar la última etapa. La ultima cuesta antes de la plaza del obradoiro, del 20%, para terminar de petar en el sprint. Hoy 42.5Km.

Finalmente han sido 750Km en 19 dias invirtiendo hora y media diaria mas o menos. Tambien han hecho la ruta conmigo cuatro temporadas y media de Star trek TNG que me han hecho algo de compañía y me han servido de distracción en los momentos mas duros.

Tenía pensado hacer este verano esta misma ruta pero al revés, para ir virtualmente y volver a casa de verdad, pero este año es Xacobeo, y mi natural aversión por las aglomeraciones de gente y mi desprecio hacia todas las creencias supersticiosas me aconsejan dejarlo para otro año. Así tengo mas tiempo para encontrar compañía.

Hasta la próxima aventura in-door.

2 comments diciembre 10th, 2009

Video digital para gente con prisa

Tras unos meses metido en esto de grabar vídeo, editarlo, codificarlo y distribuirlo me he dado cuenta de que lo que yo intuía como un mundo enorme que desconocía, es efectivamente un mundo enorme que desconozco.
Voy a tratar de plasmar en poco espacio las nociones básicas que he aprendido en mi breve incursión, para dejar constancia de lo que me ha parecido importante y de no. Al lío.

Un vídeo no es mas que una sucesión de imágenes fijas que reproducidas a una velocidad determinada dan impresión de movimiento. Al igual que pasa con las imágenes, los vídeos se comprimen para optimizar su tamaño. Las imágenes se comprimen aprovechando la información repetida en pixels adyacentes. Con los vídeos ocurre lo mismo, solo que ademas de la dimensión de una sola imagen o fotograma (compresión intraframe), también podemos buscar esa información repetida en los fotogramas siguientes (compresión interframe).

Veamos los conceptos más comunes: contenedor, codec, bitrate, framerate, GOP o frecuencia de keyframes, bitrate variable, entrelazado

Contenedor: es el formato que se usa para empaquetar la información de vídeo en un archivo. El contenedor es lo que da nombre a la extensión que llevan los archivos de vídeo , así podemos tener AVI, MPG, MOV, FLV, 3GP. El contenedor de por si no nos proporciona información de como está comprimido el vídeo, solo en que parte o partes del archivo está la información.

Codec: (Coder-Decoder) es la herramienta que nos permite comprimir un vídeo y luego descomprimirlo para poder visualizarlo en un reproductor. Existen multitud de codecs con miles de opciones para optimizar la compresión. Si tienes un reproductor que puede leer un contenedor en concreto, pero no tienes instalado en tu sistema el codec con el que se ha comprimido el vídeo que está dentro, no podrás verlo. Los pack de codecs como el ffdshow son para eso. Algunos reproductores llevan incorporados algunos codecs, unos mas, otros menos. Por ejemplo el Flash player 10 soporta Sorenson Spark, On2 y H.264 el solito, mientras que el VLC soporta muchísimos mas y el windows media, muy pocos.
Como en los vídeos también hay pistas de audio, se utilizan otros codecs para comprimirlo, como puede ser el MP3, AC3 y otros.

Bitrate: se mide en bits por segundo, es decir, la cantidad de bits que le damos al codec para que almacene todos los fotogramas de vídeo que haya en un segundo. Cuanto mayor bitrate, mayor calidad, y por supuesto mayor tamaño. El bitrate es el único ajuste de codificación que nos permite variar el tamaño final del archivo de vídeo . El resto de ajustes de vídeo solo sirven para hacer que quepa mas o menos “información visual” en esos bits, obteniendo mayor o menor calidad, pero el tamaño será siempre el resultante de multiplicar el bitrate por la duración del vídeo. Por ejemplo, un vídeo codificado a 400 kbits por segundo, con una pista de audio codificada a 96 kbits por segundo, ocupará:

496 kbps / 8 bits/byte = 62 Kbytes por segundo

Si el vídeo dura 5 minutos, 62 kbps * 5 min * 60 segundos por minuto = 18600 kbytes, es decir, unos 18 Megabytes. Siempre.

Framerate: es la frecuencia de fotogramas, es decir, la cantidad de fotogramas que se reproducen por segundo. El ojo humano, a partir de 10 fps, ya percibe movimiento fluido. El estándar son 24 para cine, 25 para televisión PAL/SECAM (Europa) y 29.97 para la televisión NTSC (EEUU). No es habitual grabar a mas de 30 fps, salvo en cámaras de alta velocidad. Es recomendable respetar los fps en cualquier recodificación, aunque claramente, si bajamos el framerate dejamos mas bitrate para menos frames, con lo que la calidad de la imagen aumenta, pero si el vídeo tiene escenas de mucho movimiento, vamos a notar los saltos.

Keyframes y GOP: Como hemos dicho, los frames de vídeo se comprimen porque hay información en los frames anteriores o posteriores que se repite en relación a un frame anterior. Esto supone que es necesario que haya frames de referencia con respecto a los que se calcule la compresión. Estos frames se llaman “clave”, keyframes o I-Frames y por ser los de referencia, no pueden recibir en si mismos una compresión interframe, tan solo intraframe (de ahí que se les denomine I-Frames). Por ello estos frames ocupan más espacio que el resto, de modo que si tenemos muchos keyframes y poco bitrate, la calidad será pésima, ya que la mayor parte del bitrate irá a parar a los keyframes.
La solución sería poner pocos keyframes, o mejor aun, solo el primero, pero esto tiene otras contrapartidas. Por ejemplo, algunos reproductores de vídeo, como el de Flash, solo permiten posicionarse en keyframes, es decir, si queremos acceder a una parte concreta del vídeo, y esa parte no tiene un keyframe, el reproductor nos envía al keyframe mas cercano, que en caso anterior sería el primero, con lo que no podremos posicionarnos en ningún otro sitio mas que al principio.
GOP (Group of pictures) es el mismo concepto e indica cuantos frames acompañan a un keyframe. Un GOP de 12, por ejemplo, significa que cada 12 frames hay un keyframe, si el framerate es 24, eso es dos keyframes por segundo de vídeo.
Aparte de los Iframes, existen otros dos tipos de frames, los P-frames (Predictive frames) y los los B-frames (Bidirectional predictible frames). Ambos van con compresión interframe y dependen del Iframe anterior y en el caso de los B-frames, de los frames anteriores y posteriores.

Bitrate variable: La compresión que se consigue en una imagen depende mucho de lo que esta contenga, igualmente en el vídeo, la compresión depende de lo mucho o poco que cambien unos frames respecto a otros. No es lo mismo un vídeo grabado desde el casco de una moto, en el que todo se mueve a gran velocidad y pocas cosas se repiten, a un video de un telediario (lo que se denomina “talking head”) en el que solo una pequeña porción de la imagen cambia en cada fotograma. Por eso, para vídeos cuyo contenido es heterogeneo se creó el VBR (variable bitrate). El bitrate se va adaptando a los contenidos de la imagen de manera dinámica, con lo que se usan menos bits cuando no hace falta mucho bitrate y mas cuando la imagen cambia mucho entre fotogramas. El tamaño de los vídeos con VBR ya no se puede predecir de antemano como en los CBR (constant bitrate), claro, pero se consiguen mejores relaciones tamaño/calidad.
Para saber el bitrate necesario para una zona concreta del vídeo se necesita procesar antes cada parte para luego aplicar la compresión en una “segunda pasada”. El concepto de codificación de 1 pasada y de 2 pasadas entra en juego aquí. Para codificar en VBR siempre hacen falta 2 pasadas, lo cual ralentiza mucho la misma.

Otro día más

11 comments septiembre 8th, 2009

Snow bench

Acabo de jubilar mi vieja tabla de snow, con unas heridas en la suela incompatibles con la práctica de este deporte.
Un amigo acaba de jubilar un par de tablas de esquí pasadas de moda sin carving ni nada y ha decidido donarlas a la ciencia.
Acabo de jubilar un somier de madera de pino sin tratar de IKEA, con alguna lama rota y una molesta tendencia a chirriar al mas mínimo movimiento nocturno.


¡TACHAN!

Si me vais a preguntar ¿y donde piensas poner ese monstruo? podéis ahorrároslo, no lo se, ¡solo quería reciclar!

2 comments mayo 16th, 2009

Mi primer RLV

Para cocinar un RLV de Tacx se necesita como materia prima los siguientes ingredientes:

  • Un ví­deo de un recorrido en carretera o camino, grabado a una velocidad que no supere en mas de 20Km/h la velocidad que llevaría un ciclista normal en ese tramo
  • Una grabación simultanea del track GPS del recorrido.

Como los GPS tienden a perder señal de vez en cuando y se vuelven un poco erráticos, siempre hay que hacer una labor de limpieza antes de poder pasar a usar el track obtenido.
Se trata de ajustar el archivo GPX obtenido del GPS eliminando puntos parados y sobrantes al inicio y final y puntos aberrantes a lo largo del recorrido. Usando CompeGPS sobre un mapa de google puedes darte cuenta cuando el track se ha desviado del recorrido e intentar retocar esos puntos para que cuadren lo mas posible.
Un indicador muy sencillo es pedirle al Compe la lista de puntos poniendo una columna con la velocidad entre ellos. Como los puertos los subo a una velocidad baja, cuando hay perdida de señal suele haber variaciones imposibles de velocidad, como 120 o 200 Km/h. Esos puntos hay que corregirlos ubicandolos de tal modo que la velocidad entre ellos sea la que tiene que ser, o cercana.
También se toman medidas erróneas de altitud y estas son mas difíciles de corregir, ya que los errores suelen acumularse y luego corregirse de golpe, con lo que aparecen escalones de varias decenas de metros en el perfil que serian sencillas de suavizar si no fuera porque lo mas probable es que luego la pendiente obtenida no coincida con lo que estamos viendo en el vídeo.

Cuando el track está ya limpio paso a ejecutar la aplicación de conversión que he creado, que convierte el GPX en un fichero RLV que básicamente contiene las velocidades a las que ha sido grabado cada tramo del video y un PGMF que contiene las pendientes para cada tramo del recorrido. Ambos tramos, el de la velocidad y el de la pendiente, no tienen por qué ser coincidentes.

Aún con estas correcciones, la mayoría de las veces no se consiguen unas pendientes coincidentes con la carretera que estamos viendo en el vídeo. Si suavizas mucho poniendo tramos largos con la misma pendiente, habrá cuestas arriba y abajo que no se reflejen en el rodillo. Si por el contrario haces tramos demasiado cortos, en algunos momentos las pendientes serán ridículamente altas para distancias muy cortas y variarán mucho, por lo que no se consigue un recorrido fluido.

Todo esto es especialmente cierto si, como me ocurrió en las primeras grabaciones, has configurado mal el GPS y has grabado muy pocos puntos. Si el GPS captura un punto del track cada 10 segundos, por ejemplo, a 40 o 50 por hora recorres mas de 100 metros en ese tiempo (50km/h = 11.1m/s) y ahí puedes haberte perdido muchos altibajos del camino. Lo ideal es configurar el GPS para grabar un punto por segundo.

He intentado arreglar el desaguisado resampleando el track con un programa que he descubierto que te permite hacer esto y muchas otras cosas (cosas muy curiosas como redes de caminos a partir de tracks y varias opciones muy interesantes para ciclismo) con los mapas y tracks. El TopoFusion tiene una opción de interpolar mediante splines un track que te permite insertar el número de puntos que quieras entre los puntos de tu track, trazando curvas donde antes habí­a rectas y siguiendo así­ de manera mas natural lo que podrí­a ser el movimiento real que ha habido entre dos puntos capturados por el GPS.
Aquí se puede ver un ejemplo de track resampleado con splines.
A pesar de que TopoFusion también interpola y splinea las alturas, decidí­ volver a recalcular automáticamente la altura de los puntos. Esto lo hace el CompeGPS mediante mapas de relieve, pero el TopoFusion también lo hace usando además diferentes métodos (Climbing Analisys) para que elijas el que mas se ajuste a la realidad. Las alturas interpoladas son inventadas y las del mapa de relieve, aunque no tienen mucha resolución, al menos son reales.

El problema es que muchas veces una carretera no se corresponde con la altura media de la zona donde se encuentra, y esto es especialmente cierto para pasos elevados, puentes, túneles, o curvas en herradura, que son bastante habituales, por lo que al final, el resultado del cálculo automático de alturas sigue siendo desastroso e irreal y las pendientes no corresponden con la realidad mas que en unos pocos tramos.


Por eso he tenido que construirme un programita en AS3, usando Air para poder guardar archivos, que sobreimpresiona el perfil de la etapa sobre el vídeo de la misma y permite ir seleccionando tramos para corregir o establecer su pendiente de forma manual, consiguiendo de este modo un resultado mucho mas natural y unas sensaciones mas realistas. A cambio, la programación para sincronizar el vídeo, que funciona por tiempo, con el perfil, que lo hace por distancia, ha sido bastante compleja, pero aquí tenéis un ejemplo de como luce la aplicación. Como es para uso interno, no tiene adornos, que nadie me tache de cutre!!

Le he ido añadiendo lo que necesitaba. Todos los datos sobre la posición actual, distancia, tiempo, pendiente y altitud así como botones para seleccionar tramos (zona en verde), cambiarles la pendiente, o flechas para subir o bajar el perfil y para guardar archivos con el resultado, tanto en un xml de cosecha propia que he llamado “prf” y que es el archivo que lee el programa para comparar el perfil original (en blanco), que se toma de un GPX, con el perfil retocado (en rojo), como en el formato nativo de Tacx pgmf.

Ahora ha producir perfiles como loco para la LEVE!!!

5 comments diciembre 28th, 2008

Namespaces XML en AS3

Estaba intentando parsear un archivo xml desde ActionScript 3 y me he encontrado con que no funcionaba.
El contenido estaba en el objeto XML pero al intentar acceder a cualquiera de los nodos mediante nombre, AS3 me devolvía un elemento nulo.
Solo lograba hacerlo funcionar si en la cabecera del fichero XML le quitaba la declaración de namespace que se hace mediante el atributo xmlns.
El problema es que el XML lo produce un software de terceros y no tengo control sobre su formato, así que eliminar la declaración del namespace no es posible.

El problema ha sido precisamente el namespace. El atributo xmlns estaba definiendo el nombre del namespace del tipo de archivo XML que estaba leyendo, pero yo no estaba usando dicho namespace para acceder a los elementos del arbol XML, por eso no los encontraba.
El namespace es una clase que se usa prefijando con ella cada nombre de nodo separándolo de este con el operador :: (name qualifier) , por ejemplo

trace( xmldoc.new Namespace("http://www.w3.org/2005/Atom")::news );

Esto es un auténtico coñazo, sobre todo cuando te enteras de que esa URI que se declara en el XML no tiene por qué apuntar a nada en concreto, simplemente debe ser única con respecto a todos los namespaces declarados por otros tipos de archivos XML. Como es un identificador tan largo se suele asignar el objeto Namespace a una constante y acortamos.

private const ATOM = new Namespace( "http://www.w3.org/2005/Atom" );
.
.
.
trace(xmldoc.ATOM::news.ATOM::title);

Pero como sigue siendo un rollo prefijar todos los accesos a los nodos, lo mejor es definir que el namespace por defecto apunte a la declaración correspondiente y ya está. Esto se hace con la orden

default xml namespace =new Namespace( "http://www.w3.org/2005/Atom" );

Y a partir de ese momento todos los accesos a nodos del xml se realizarán como si fuesen prefijados con ese namespace.

Así todo vuelve a funcionar.

2 comments diciembre 11th, 2008

Previous Posts

 Guias

 Comentarios

 

 Categorías