miércoles, 21 de octubre de 2015

Canon i-sensys MF6140dn en Linux; esta vez en Fedora 23 beta



Hace unos meses indicaba como se podía instalar una impresora Canon —i-Sensys MF6140DN— en Linux, en concreto Fedora 22. Es una impresora con capacidad múltiple —impresión, copia, escaneo y fax—, de los que en Linux solo se puede usar la impresión (la copia no necesita ordenador y el escaneo se puede hacer en dispositivos USB). Debido al accidente de fregonas también indicado, no quedó más remedio que instalar de nuevo el sistema, en este caso, para adelantarnos, Fedora 23. Sin embargo, ha sido imposible que funcionara la impresora siguiendo las mismas instrucciones antes indicadas
Para hacerlo sencillo, en este caso los pasos han sido:
1. Hemos tenido que instalar un driver más moderno, versión 2.09, obtenido de aquí.
2. De nuevo hemos eliminado cualquier versión anterior de esta impresora en el Control de impresión y hemos desenchufado la máquina y USB.
3. IMPORTANTE. Extracción de los PPDs del interior del ejecutable —los correspondientes a la impresora, ya que hay muchos— e introducirlos como administrador en el directorio /opt/cel/ppd, ya que si no luego el programa no podía acceder a los controladores ppds ni indicándoselos, cerrandose la acción.
4. Instalación del paquete binario correspondiente a vuestra distribución. En mi caso

su -c 'dnf install /home/usuario/Descargas/o157oes_linux_CQueRPM_v209_64.rpm'

5. Conexión de la impresora y prueba.


Esta vez ha costado más que aceptara los controladores al enchufarla. Listo.

lunes, 19 de octubre de 2015

Morphing múltiple con software libre

La semana pasada una compañera mencionó el interés de hacer un vídeo o presentación que indicara su evolución a lo largo de los años. Unos años atrás yo había realizado un "morphing" entre dos compañeros que había quedado "interesante" y se me "sugirió" como posible autor de ese vídeo. El problema es que en aquel momento utilizaba Windows y ahora, en Linux y software GPL, tras diferentes búsquedas, no he encontrade software libre que pudiera realizar un "morphing" múltiple entre 5 fotos. Por supuesto, por el simple hecho de aprender, hemos llegado a hacer un vídeo avi de 4 segundos con la evolución de esa persona a lo largo de los años.
Partimos de 5 fotos tamaño carnet que copiamos con el móvil (no buscamos la perfección, solo aprender los pasos). En Windows hay diferentes aplicaciones, la mayor parte de pago, que permiten hacer "morphing", pero las que lo hacen con más de 2 fotos —múltiples— son todas de pago. Con aplicaciones de las que usamos todos los días y que podemos instalar desde el terminal tenemos:
- Gimp, con la extensión —"plugin"— de vídeo gap (su -c 'dnf install gimp gimp-gap'
- Mencoder (su -c 'dnf install mencoder')
- Algunos scripts de Gimp

Describamos el proceso por partes:
1. Para hacer la fase de "morphing" hemos usado Gimp con su extensión Gap. Tenemos unas instrucciones más completas aquí. Lo que nos importa es que solo podemos hacer "morphing" entre 2 capas (lo siento, por protección de datos no hay fotos de la persona en cuestión).


Eso nos obliga a hacer una copia de la primera foto en gimp, pegarla como nueva capa y sobre ella añadir una segunda capa de la segunda foto. En el menú Video, que solo tendremos si antes hemos instalado la extensión Gap aparece la posibilidad de morphing - morph, que nos lleva a este menú.


Sobre como debe hacerse, el número de "sharepoints" y todo eso, remito a las instrucciones completas antes citadas. En mi caso, para generar una evolución natural, aplique un solo "sharepoint" en el punto del centro de la parte baja de cada una de las dos fotos. Para generar un segundo de vídeo entre cada dos fotos, pedí 25 superficies, lo que genera 25 capas nuevas que van evolucionando desde la primera foto hasta llegar a la última.
Las posibilidades que nos da Gimp una vez generadas las capas son guardar un gif, con la pérdida de calidad y niveles de color —256 colores— o animación mng, que es un formato de animación asociado a png, pero que no es un estándar y muchos programas no lo reconocen. Por eso decidí grabar cada capa como imagen individual y generar un fichero avi estándar desde la línea de comandos. Gimp no tiene esa posibilidad directamente, pero encontré unos scripts preparados. Guardando los scripts en al directorio /usr/share/gimp/2.0/scripts aparecen en el menú Archivo de Gimp la posibilidad de grabar las capas (como tal o completas) y eso me ha permitido tener la transición entre las dos imágenes.
1capa0001.png - 1capa0025.png (foto 1-2)
2capa0001.png - 2capa0025.png (foto 2-3)
3capa0001.png - 3capa0025.png (foto 3-4)
4capa0001.png - 4capa0025.png (foto 4-5)

2. Generar una salida con transición desde esas 100 imágenes hasta un fichero estándar aplicamos un comando que ya hemos utilizado anteriormente, preparando un avi formato mpeg4 y con 25 imágenes por segundo, aunque esta vez sobre png y no sobre jpg (lo he probado hasta en un windows media player y funciona).

mencoder "mf://*.png" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4

Listo; fácil y "free" (gratis y libre). Tras este experimento hemos comprobado que podemos realizar un morphing múltiple (entre 5 fotos) con aplicaciones de código libre.

Cosas a tener en cuenta:
- Las fotos deben todas tener la misma resolución (ajustar con gimp o bien en terminal con convert de ImageMagick)
- Probablemente sea recomendable ajustar esa resolución a aquella que queramos dar al vídeo (idem)
- La creación de capas en Gimp lleva tiempo; más cuanto menos potente sea el ordenador (y si la RAM está muy justita)
- El comando mencoder, tal como está aquí, sin reconversiones, se ejecuta en poco tiempo


jueves, 15 de octubre de 2015

Y cuando las fregonas controlaron el mundo...

Las fregonas... ¿Por qué?
Por que he tardado una semana en reparar mi ordenador después de que una fregona libertaria —o libertina, según se mire— golpeara la regleta de alimentación del SAI del ordenador de trabajo, que nadie se diera cuenta del estruendo de alarma —era medio día, todo el mundo comiendo— y se apagara de mala manera el dispositivo. Resultado final, un arranque con errores:



Como podemos ver en la segunda imagen, el problema de arranque se debe a una inconsistencia en uno de los discos. Erróneamente, culpé al disco de arranque, un WD Raptor de 10.000 rpm, que ya está muy baqueteado, con más de 8 años de uso, y con un sector erróneo por otro apagado sorpresa. Empecé la reparación sustituyendo el primer disco por un sólido, pero me aparecía el mismo error tras la instalación del sistema. Eso me obligó a reconsiderar que el error estaba en el segundo disco, un WD Caviar Green de 1TB, que actúa como /home y que solo tiene 6 años de uso. La prueba smart indicó que no había errores físicos, pero no había tabla de partición. En resumen, todos los datos y configuraciones perdidos.
Instalación nueva, reutilizando los discos originales, con Fedora 23Beta (30 minutos) y recuperación de /home desde una copia de seguridad (varias horas). En resumen, entre unas cosas y otras 3 días seguidos trabajando a medias con un portátil. Peor aun, la copia de seguridad, aunque contiene todo, tiene la estructura del ordenador de casa, no la del trabajo, con lo que hay que cambiar la estrategia mental de localizar las cosas.
Una pérdida lamentable de tiempo, aunque sin coste económico, y unas entradas de retraso por una fregona.