Mostrando entradas con la etiqueta fotos. Mostrar todas las entradas
Mostrando entradas con la etiqueta fotos. Mostrar todas las entradas

Convertir archivos HEIC a JPG en Linux

High Efficiency Image File Format (HEIF) Future Container Format for Images and Image Sequences.


Los archivos HEIC (High Efficiency Image Format) son archivos de imagen como pueden ser los JPEG, PNG o BMP.  Las imágenes HEIC se codifican con HEVC, que se usa más comúnmente para comprimir vídeos en tiempo real, pero que también sirve para ficheros de fotografía, siendo muy efectivo. 

Tanto los iPhone como los iPad de Apple toman fotos en el formato de imagen HEIF de forma predeterminada, fotografías que tienen como extensión de archivo HEIC. Los archivos de imagen HEIC no ocupan mucho espacio de almacenamiento y son de alta calidad, por lo que son sumamente aconsejables.

No todos los sistemas operativos son capaces de manejar o visualizar este tipo de archivos. Y en la mayoría de los casos es necesario convertirlos a formatos populares para poder utilizarlos.

Desde la versión 2.10.2 de GIMP, aparecida en mayo de 2018, reconoce y trata archivos HEIF.

Para sistemas basados en Linux hay una aplicación que nos puedes Convertir archivos HEIC a JPG en Linux, libheif-examples

Package: libheif-examples
Architecture: amd64
Version: 1.6.1-1build1
Priority: optional
Section: universe/video
Source: libheif
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian Multimedia Maintainers
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 133
Depends: libheif1 (= 1.6.1-1build1), libc6 (>= 2.14), libgcc-s1 (>= 3.0), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libstdc++6 (>= 9)
Filename: pool/universe/libh/libheif/libheif-examples_1.6.1-1build1_amd64.deb
Size: 30704
MD5sum: 17e980f870f6773f5ee70141c1e1ab51
SHA1: 9a0214a0292bd85f0b27abbb96263fdfc0a093f3
SHA256: fee0720edb7a825fcefbc82c44e0c64f46bd5e799d53796dffc37faedc9deb8c
Homepage: http://www.libheif.org
Description: ISO/IEC 23008-12:2017 HEIF file format decoder - examples
Description-md5: 3a4de5f652abb7d4bd1ee49395697304


Para realizar su instalación en terminal para sistemas basados en Ubuntu:

 sudo apt install libheif-examples

Podremos realizar la conversión de un archivo mediante el comando:

 heif-convert  archivo.heic archivo.jpg

Para convertir varios archivos, nos situaremos en la carpeta donde se encuentran los archivos que queremos  convertir:

for f in *.heic; do heif-convert -q 100 $f $f.jpg; done


Aquí tienes el desglose del comando:

for f in *.HEIC;: Este comando inicia un bucle for que itera sobre todos los archivos con extensión .HEIC en el directorio actual. Cada archivo encontrado se guarda en la variable f.

do heif-convert -q 100 $f $f.jpg;: Dentro del bucle, el comando heif-convert se ejecuta para cada archivo f. La opción -q 100 establece la calidad de salida de la imagen en 100% (máxima calidad). El primer argumento $f es el archivo de entrada (el archivo .HEIC) y el segundo argumento $f.jpg es el archivo de salida (el archivo convertido a .jpg).

done: Este comando indica el final del bucle for.

Básicamente, el comando toma todos los archivos .HEIC en el directorio y los convierte a formato .jpg manteniendo el mismo nombre de archivo, pero con una extensión .jpg.


Instalar servidor MiniDLNA

Vamos a instalar un servidor DLNA en, por ejemplo Raspberry, para utilizarla de servidor multimedia para poder ver nuestros archivos en nuestra SmartTV. La tecnología DLNA es admitida por la mayoría de dispositivos multimedia actuales, a diferencia de utilizar un servidor PLEX en la que tenemos que instalar la APP en nuestra SmartTV y registrándose en su plataforma.

Es un servidor muy sobrio y de un consumo de recursos muy reducido, el aspecto es el de un explorador de archivos, y su reproductor multimedia muy simple. Pero cumple su función de servidor de videos, música e imágenes en nuestra red local.

También podríamos instalar nuestro servidor DLNA en un viejo ordenador en el que hubiéramos instalado un Linux con alguna de las múltiples distribuciones basadas en Debian.

Accedemos a nuestra Raspberry o nuestro servidor casero a traves de SSH e instalamos con privilegios de root la aplicación MiniDLNA también conocida como ReadyMedia

sudo apt-get install minidlna

 Iniciaremos el servicio:

sudo service minidlna start

Y habilitaremos minidlna para que el servicio sea levantado cuando iniciemos nuestro servidor local 

sudo service minidlna enable

Deberemos acceder al archivo de configuración para indicarle, entre otras cosas, la ruta donde se encuentran los archivos que queremos mostrar en nuestra LAN. Estos se pueden encontrar en un disco duro externo que habremos conectado a través del puerto USB de nuestro servidor doméstico.

sudo nano /etc/minidlna.conf

Accederemos a un archivo de texto plano donde cambiaremos

  • Ubicación de los archivos de video
media_dir=V,/media/downloads/videos
  • Ubicación de los archivos de música: 
media_dir=A,/media/downloads/musica
  • Ubicación de los archivos de imagen
media_dir=P,/media/downloads/fotos

  • Ubicación de la base de datos que almacenará los archivos que se mostraran
db_dir=/var/cache/minidlna

  •  Si queréis almacenar logs de lo que pasa en el servidor tienen que descomentar esta línea. Los logs los podréis encontrar en la ubicación.
log_dir=/var/log

  •  Puerto en el que escuchara el pequeño servidor web, que nos mostrara una pequeña información de nuestro servidor. No podremos realizar ninguna acción, como por ejemplo la de configuración
port=8200


MiniDLNA status

  •  Nombre con el que se anunciara en nuestros clientes multimedia
friendly_name=Pi

  • Seleccionamos la opción yes. De este modo, cuando se borre o copie contenido del servidor se actualizará la información de la base de datos

inotify=yes

  •  Definimos los nombres que deben tener las caratulas de un audio o vídeo. Si queremos definir una caratula para una película podemos hacerlo guardando una imagen con el nombre cover.jpg o Cover.jpg en la carpeta que contiene la película. El tamaño recomendado es de 160×160 pixeles
album_art_names=cover.jpg/cover.jpg

  • En esta linea configuramos el intervalo de segundos que nuestro servidor anunciara su presencia en la red. Un buen intervalo serian cada 60 segundos
notify_interval=60

Una vez modificado el archivo a nuestro gusto, lo guardaremos y reiniciaremos el demonio para que la nueva configuración tenga efecto:

sudo service minidlna restart

MiniDLNA usa la propiedad del Kernel inotify para detectar las modificaciones en cada una de las carpetas que almacena contenido. Al detectarse una modificación se actualiza el contenido de la base de datos /var/cache/minidlna/files.db.


Para que inotify pueda monitorizar las modificaciones tendremos que cambiar sus límites. Para fijar un nuevo límite ejecutaremos el siguiente comando:

sudo echo 65538 > /proc/sys/fs/inotify/max_user_watches 

sudo service minidlna restart

Si por alguna razón deseamos reconstruir la base de datos:

sudo service minidlna force-reload

Y listo ya tendríamos un servidor multimedia en nuestra red local y podríamos ver nuestros videos en nuestro:

  • SmartTV
Botón Source, Entrada externa o Fuente

 


  • En otros dispositivos podemos utilizar el reproductor multimedia VLC 
Accederemos a Plug’n’Play Universal y esperamos a que VLC encuentre nuestro servidor miniDLNA y nos permita reproducir su contenido.