Destripando: Instants Chile Get! – Prueba de concepto (Parte II)

Este artículo es parte de una serie:

Voy a ser honestos con ustedes, no tengo idea de qué cosa significa exactamente una «prueba de concepto». La utilizo según lo que me parece que quiere decir, «probar» si es posible dar con una pequeña prueba para luego generalizarla. Claramente el objetivo de mi aplicación, es bastante general (descargar todos los archivos y decodificarlos). Por lo que antes de comenzar a ver como descargar todos los archivos, sería más prudente descargar alguno y ver si efectivamente puedo transformarlo en un formato audible que no sea swf. ¿Imaginan que logro dar con una fórmula para descargar todo y finalmente resulta que no puedo hacer nada con los archivos?.

Esto por supuesto, puede tener muchos acercamientos (incluso ni siquiera utilizar un prototipo), personalmente me gusta lo que pregona la metodología ágil (algún día hablaré de ello); que consiste básicamente[2] en trabajar en base a iteraciones y pequeñas metas, de forma de que cada cierto intervalo corto de tiempo (cada día por ejemplo) se avance algo, aunque signifique modificar y reparar el código más de alguna vez. Esto permite tener una percepción de «ir avanzando» y no quedarse «pegado» en soluciones complejas, además darle muchísimo más dinamismo.

Por otra parte, me parece mucho más simple dar con una solución única y luego buscar la forma de generalizarla que desgastarse en problemas más difíciles de abordar, especialmente cuando recién nos sentamos y parece abismante la cantidad de trabajo que queremos realizar.

Manos a la obra

Descargando

Lo primero, entonces será encargarnos de descargar alguno de los archivos. No sé como hacerlo en otros navegadores que no sean Firefox, pero supongo que deben tener procedimientos similares. Nos vamos a la página del instant que queremos utilizar como prueba (sí, no podría dejar pasar a Carlitox) y luego:

  • Nos vamos al menú Herramientas » Información de la página, o
  • Apretamos el botón derecho y escogemos «Información de la página», o
  • (mi favorita) <Ctrl> + <i>

En los tres casos nos veremos con una pantalla más o menos así:

Nos vamos a la pestaña «Media» buscamos el archivo y pinchamos en «Guardar como». Por si fuera poco (y sin quererlo) descubrimos el lugar donde está almacenado (http://www.axonema/instants/swf2/jojojo.swf), y con bastante lógica podríamos suponer que todos los instants están guardados en una carpeta llamada swf2. Nuestro objetivo pues en alguna iteración ulterior será la de descargar todos los archivos con extensión swf de dicha carpeta.

Decodificando

Perfecto, ya tenemos nuestro archivo, ahora faltaría comprobar si es posible decodificarlo, una rápida búsqueda en google nos llevará a que la herramienta que permite destripar este tipo de archivo: swftools, por lo que tendremos que encargarnos de instalarla.

Nos desplazamos a través de la terminal al directorio donde hayamos descargado el joJÓjo y probamos swfextract:

swfextract jojojo.swf
Objects in file jojojo.swf:
[-i] 7 Shapes: ID(s) 3-9
[-i] 1 MovieClip: ID(s) 1
[-s] 1 Sound: ID(s) 10
[-f] 1 Frame: ID(s) 0

Hm, tiene 1 Sound, que está como ID 10… extraigámoslo:

swfextract -s 10 jojojo.swf -o jojojo.mp3

(por supuesto que un swfextract --help ayuda bastante!)

¡Perfecto! Extrajimos el audio en mp3 y funcionó sin problemas. Podríamos aprovechar de probar si es posible decodificar el mp3 y pasarlo a wav. Para esta tarea, no se me ocurre nada mejor (ni más simple) que utilizar LAME, así que lo siguiente será instalarlo.

En el mismo directorio, ejecutamos:

lame --decode jojojo.mp3 jojojo.wav

Voilà!

[1] Quizá «prototipo» sea el término más adecuado…

[2] En realidad es una simplificación bastante burda, pero sirve de forma académica

Imagen:

2 comentarios en “Destripando: Instants Chile Get! – Prueba de concepto (Parte II)

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Este artículo es parte de una serie: Parte I: Destripando: Instants Chile Get! – Planificación Voy a ser honestos con ustedes, no tengo idea de qué cosa significa exactamente una «prueba de concepto». La utilizo según……

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.