Convertir imágenes de formato HEIC a JPG con Linux

apple

Hace unos días tuve un problema muy interesante. Les cuento, ustedes saben que buena parte del negocio de Apple es aumentar el tamaño del espacio de almacenamiento rentado en iCloud.

Me parece que de inicio dan 5 GB que es claramente insuficiente y se llena con mucha facilidad. Es por eso que muchas personas optan por comprar un plan de almacenamiento que varía un poco de país en país.

Planes de almacenamiento de iCloud
Precios a Enero del 2018.

Un compañero llegó a mi por una advertencia de que su espacio en iCloud ya estaba lleno. Le expliqué que si quería almacenar sus fotos en iCloud tendría que pagar a menos que …

Google Fotos

Se que existe una versión de Google Fotos para iOS, solo se necesita una cuenta de Google para que empiece a almacenar las fotos que se toman en el iPhone o en el iPad y se sincronizan automáticamente.

Tengo entendido que el espacio es ilimitado si se guardan en formato de alta calidad, pero no muy alta calidad (estos aparatos nuevos abusan).

Mi compañero me dijo que no importaba, solo quería tener un respaldo de sus fotos por si algún dispositivo se pierde o descompone.

Y funcionó muy bien !!! De inmediato las fotos se empezaron a subir a la nube de Google, lo mejor es que también tiene acceso mediante el sitio web así que todo era miel sobre hojuelas hasta que un día …

HEIC ¿Qué demonios es eso?

Un buen día quiso descargar un álbum de imágenes selectas y ¡Oh sorpresa! nos dimos cuenta de que los archivos tenían una extensión extraña, todos las imágenes tenían la extensión .heic .

Pues resulta que HEIC (High Efficiency Image File Format) es el nuevo formato que utilizan los dispositivos Apple, creo que a partir de iOS 11. Y por lo visto todavía no es muy conocido y algunos no están muy contentos con “la novedad” (léase HEIC file format is Unwelcomed!).

Google Fotos no tiene problemas para mostrar los archivos, pero al descargarlos lo hace en su formato original y actualmente no es muy conocido. Ninguno de mis programas para visualizar imágenes en Linux lo reconocía ¡Ni siquiera GIMP! y eso amigos, eso si que es un problema.

Intenté un cambio de formato con ImageMagick pero tampoco. Así que era tiempo de buscar opciones.

Tifig

Afortunadamente me encontré en GitHub con un programa muy verde pero que en mi caso funcionó muy bien llamado tifig.

Tuve que instalarlo a mano, porque todavía no existe un paquete en AUR para este programa. Hay un repositorio para Ubuntu, pero en mi caso tuve que instalar algunos programas dependientes.

En la misma página del proyecto se ofrecen las distintas opciones de instalación.

De HEIC a JPG por montones

Una vez instalado tifig todo es más sencillo.

Forma de uso:

Converts iOS 11 HEIC images to practical formats
Usage:
  tifig [OPTION...] input_file [output_file]

  -i, --input arg            Input HEIF image
  -o, --output arg           Output image path
  -q, --quality [=arg(=90)]  Output JPEG quality (default: 90)
  -v, --verbose              Verbose output
  -w, --width arg            Width of output image
  -h, --height arg           Height of output image
  -c, --crop                 Smartcrop image to fit given size
  -p, --parallel             Decode tiles in parallel
  -t, --thumbnail            Use embedded thumbnail
      --version              Show tifig version 

Sin embargo, ejecutar un comando por cada archivo es tardado y tedioso. Al principio pensé en alguna solución con Bash, pero luego apareció parallel como una alternativa más eficiente.

Por ejemplo, esta instrucción convierte todos los archivos .heic del directorio actual a jpg y además los redimensiona a 1200 pixeles de ancho.

parallel -j 3 --eta tifig -w 1200 '{}' '{.}.jpg' ::: *.heic

A parallel le indiqué que utilizara 3 núcleos del microprocesador con -j 3 (tengo un microprocesador de 4 núcleos) y que me mostrara un tiempo aproximado de finalización con –eta.

De este modo la conversión es mucho más veloz.

La solución web

Existe una página que ofrece la conversión de heic a jpg que se llama heictojpg.com que hace un excelente trabajo.

Heictojpg
Heic to JPG para trabajos pequeños.

El único problema es que esta limitado a 50 imágenes por lote.

Supongo que con el tiempo el formato heic se agregará a los formatos soportados por los principales programas de edición gráfica. Pero por el momento esto es lo que hay.

¡Felices conversiones!.

Imagen destacada de Medhat Dawoud en Unsplash

Impresora compartida con samba pide usuario y contraseña

impresora

A lo mejor el título de este artículo no es muy claro. Voy a intentar explicar la situación. Generalmente mando mis trabajos de impresión a la impresora compartida de un equipo que utiliza Windows 7. Usualmente no había tenido problemas hasta después de la última actualización de Manjaro en la que para mandar imprimir me pide un nombre de usuario y una contraseña.

Al principio creí que era la contraseña de root, pero luego me la volvía a pedir. Intenté con mi usuario de linux y tampoco. Lo único que funcionó era el nombre de usuario y contraseña de la computadora con Windows. Bueno ya era un avance.

En ocasiones anteriores este tipo de problemas se arreglaban solos o bastaba con dar de alta nuevamente la impresora para que desaparecieran pero ese no fue el caso.

Durante más de una semana me acostumbré a teclear el usuario y la contraseña. Funcionaba pero era poco práctico, ya era hora de buscar una solución.

Configuración de impresión.

Manjaro tiene un programa que se llama Configuración de impresión que es donde administro las impresoras que tengo dadas de alta en mi sistema. Supuse que la solución era un poco obvia, decirle a mi Manjaro que almacenara el nombre de usuario y contraseña en lugar de teclearlo cada vez que quería imprimir.

Cambiar el URI del dispositivo
No almacena el usuario y la contraseña.

Incluso existe un espacio en donde se puede especificar un usuario y contraseña en donde dice Autenticación, lamentablemente después de varios intentos me di cuenta de que no guarda esa información y en la siguiente impresión la vuelve a pedir. Así que era necesario probar otro enfoque.

Mediante la página de CUPS.

Para entrar a la página de CUPS solo hay que visitar http://localhost:631/ , luego el menú AdministraciónAdministrar Impresoras .. MantenimientoModificar Impresora (o ya de plano dar de alta una nueva impresora).  Seleccionar la opción que dice: Windows Printer via SAMBA y en ese lugar se le puede especificar el usuario y contraseña de la conexión a la impresora.

Modificar impresora en CUPS
Aquí es donde va a guardar la información de la conexión.

La conexión quedaría más o menos así:

smb://usuario:contraseña@ip_computadora/impresora_compartida

Me pasó que el nombre de usuario de la computadora con Windows incluía un espacio, en ese caso, se agrega un %20 en el lugar donde va el espacio, algo más o menos así:

smb://usuario%20con%20espacio:contraseña@ip_computadora/impresora_compartida

Lo que sigue es guardar los cambios, hacer algunas pruebas y si todo salio bien, ya no pedirá el usuario y la contraseña. Bueno, hasta la próxima actualización de Manjaro.

Espero que este consejo les sea de utilidad. ¡Hasta la próxima!.

Enlaces.

 

Respaldos en Linux, los programas que he utilizado

Llevo mucho tiempo usando Linux y hago frecuentemente respaldos de mis archivos. Siempre es una mejor política hacer respaldos que intentar recuperarlos. Para hacer respaldos en Linux he utilizado varios programas. En este artículo voy a comentar algunos de sus pros y sus contras.

Deja Dup.

Durante mucho tiempo utilicé Deja dup, venía incluido en Cinnamon y me pareció la opción natural. Es muy fácil de configurar, solo hay que responder algunas preguntas, decirle cuáles carpetas respaldar y eso es todo.

Diariamente ejecuta un respaldo de los archivos de una forma prácticamente imperceptible. Ocasionalmente me aparecía una notificación para informarme que había terminado el respaldo o me pedía que pusiera una contraseña para verificar que todo estaba bien.

Un buen día se me ofreció recuperar un archivo y ese fue el final de deja dup en mi escritorio. No pude lograr que me apareciera un archivo para restaurar. Lo intenté de varias formas pero el tiempo que invertía en la tarea no era aceptable. Y al parecer no era el único con el mismo problema: How can i fix Deja Dup hanging on restore? o Recovery search for files is very slow.

Afortunadamente no era un archivo de vida o muerte, pero no iba a esperar a caer en una situación crítica. Era tiempo de buscar otras opciones.

Duplicati.

Duplicati es similar en varios aspectos a deja-dup, solo que tiene muchas más opciones y eso no es necesariamente malo.

En Windows tiene el problema de alentar los equipos durante el respaldo. Pero eso no quiere decir que lo haga en Linux. Ya sabes lo que dicen, más vale malo por conocido que bueno por conocer. Sin embargo en Linux tuve problemas para instalarlo.

Además, estaba habituado a la configuración de la versión 1 de duplicati y los cambios que hicieron en la versión 2 fueron demasiados para mi gusto. Algunos ajustes que funcionaban para mi los ocultaron, en fin, que nadie me obliga a usarlo.

Como en gustos no hay nada escrito se los dejo tal cual. A lo mejor a alguien le gusta y lo hace su programa de respaldos.

Rsync

Un clásico que no falla. Rsync es la herramienta para copiar archivos por excelencia.

Tiene la ventaja de que es muy fácil de integrar a un script en bash y para hacer un respaldo solo se tiene que ejecutar el archivo. Opcionalmente se puede programar una tarea regularmente y ¡Voalá!, respaldos automáticos simples y confiables.

Cuando se requiere hacer copias de archivos de manera masiva rsync es la herramienta de la terminal que tienes que elegir pero, bueno siempre hay un pero.

El único problema que tiene es en el manejo de versiones. Supongamos por ejemplo que necesitas una versión de un archivo de la semana pasada. No la de ayer, no la antier, la de la semana pasada exactamente. Ahí es donde entra nuestro siguiente programa participante.

Back in Time.

Back in Time es uno de esos programas que tiene justo lo que estaba buscando. No es tan minimalista como Deja-dup ni tampoco es tan complicado como manejar las opciones de un comando en la terminal.

Back in time utiliza dos de mis herramientas favoritas en software libre, python 3 y rsync para crear lo que se llaman Instantáneas (o snapshots).

Las instantáneas tienen una fecha, de esa forma es posible regresar a versiones anteriores del mismo archivo.

El impacto en la computadora, al menos con Linux es mínimo. No me notifica nada, solo aparece un discreto icono azul en la barra de tareas. Hace lo que tiene que hacer y eso es todo, al terminar el ícono desaparece como un fantasma.

back in time trabajando
Respaldando ando…

Aprendiendo de mi experiencia con Deja-dup he recuperado algunos archivos para comprobar que funciona y así ha sido.

Configurar un respaldo requiere un poco de esfuerzo pero no es nada complicado. Afortunadamente cuenta con una buena documentación . Me recuerda un poco a duplicati, me permite establecer opciones como el encriptado, las carpetas a respaldar, cuales hay que excluir y la frecuencia de las instantáneas.

Configuración de un respaldo con Back in Time.
Configuración de un respaldo con Back in Time.

El único problema con Back in Time es que al guardar varias versiones de los mismos archivos el espacio ocupado por el respaldo tiende a crecer un poco más que al hacer una copia simple.

¿Cuál programa de respaldos utilizan? ¿Les gusta el peligro y practican la computación extrema?. Por favor comenten 🙂

Imagen de portada cortesía de Markus Spiske