Tipográfica y ffmpeg

| Publicado: | Código fuente

El otro día, por una remera en la que mi hermana imprimió un grabado de su autoría, fuimos con ella, Moni y Gus a la imprenta de este último.

Curioseamos bastante, y entre todo lo que Gustavo mostró, estaba su impresora tipográfica automática. Ya no la usa mucho, pero la prendió y la hizo funcionar para mostrarnos cómo trabajaba. Aproveché y la filmé con el teléfono:

Pero no fue todo tan fácil. El video que generé con el fono, en la computadora no lo podía ver bien. Bah, se veía bien, pero salía sin sonido. Yo lo quería pasar a un formato más estándar, justamente para subirlo a Google Videos.

En todos los lugares que busqué, siempre recomendaban utilizar el ffmpeg, así que lo instalé de la forma normal (con el Synaptic, haciendo cuatro clicks), pero tampoco entendía el audio.

Seguí buscando, hasta que encontré que, para que reprodujera bien el formato 3gp, debía compilar el ffmpeg con las bibliotecas de AMR. No fue demasiado complicado, pero tampoco fue recontra sencillo, así que reproduzco los pasos acá, que fueron más que nada el producto de seguir tres o cuatro guias sueltas por ahí.

Si arrancamos con un Ubuntu crudo, les va a faltar lo necesario para compilar (creo que con instalar el paquete build-essential deberían tener todo lo necesario).

Creamos y nos metemos en un directorio para todo este experimento:

mkdir locoffmpeg
cd locoffmpeg

El proyecto ffmpeg no tiene liberaciones estables, sino que normalmente se utilizan directamente los archivos de desarrollo. Para que no tengan que hacer un checkout del repositorio, pueden utilizar el snapshot que se genera todas las noches; lo bajamos y descomprimimos:

wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
tar -jxf ffmpeg-export-snapshot.tar.bz2

Traemos las fuentes de la biblioteca para AMR Narrow Band, la descomprimimos, vamos a ese directorio, la configuramos, compilamos e instalamos:

wget http://downloads.sherin.in/sources/amrnb-7.0.0.0.tar.bz2
tar -jxf amrnb-7.0.0.0.tar.bz2
cd amrnb-7.0.0.0/
./configure --prefix=/usr
make
sudo make install
cd ..

Exactamente lo mismo, pero para la AMR Wide Band:

wget http://downloads.sherin.in/sources/amrwb-7.0.0.2.tar.bz2
tar -jxf amrwb-7.0.0.2.tar.bz2
cd amrwb-7.0.0.2
./configure --prefix=/usr
make
sudo make install
cd ..

Dos detalles.

  • En ambos make, el tipo baja un pequeño archivo de algún lado, así que tienen que estar conectados a internet.

  • Fíjense que el make install tiene un "sudo" adelante; esto es porque necesitan permisos de root para instalar la biblioteca.

Luego entramos al directorio donde tenemos el ffmpeg descomprimido (el * en la primer órden aquí es porque el nombre del directorio depende del día, hagan un ls -l y lo van a ver).

cd ffmpeg-export-*

Una vez adentro, configuramos el ffmpeg para que se instale en /usr/local (con lo que si tienen otra versión de ffmpeg instalado no lo van a pisar), y le habilitamos threading y las dos bibliotecas que nos interesan:

./configure --prefix=/usr/local --enable-pthreads --enable-libamr-nb --enable-libamr-wb
make
sudo make install

Ya tenemos el ffmpeg alternativo que compilamos, entonces transformamos el video del fono a algo estándar (en este caso, el video del fono se llama MOV00001.3gp, y dejamos el video nuevo en video.avi).

/usr/local/bin/ffmpeg -i MOV00001.3gp -acodec mp2 -ar 44100 -vcodec mpeg4 video.avi

¡Ya está! El paso final fue subirlo a Google Video, pero eso se lo dejo a ustedes.

Comentarios Imprimir