Uno de los elementos multimedia más versátiles y usados en todo el mundo son las imágenes las cuales encontramos por millones y en numerosos formatos. Justamente allí, en el formato, es donde se diferencia la calidad y atributo de la imagen, ya que aunque la imagen que vemos a simple vista es la misma, esta puede tener un tamaño diferente. Lo cual resulta un tema delicado cuando debemos enviar un correo electrónico, insertar una imagen en un sitio web o tareas afines donde se requiere óptima calidad pero con un tamaño liviano.
Conocemos múltiples formatos tradicionales como JPG, PNG, etc, pero se está levantando un nuevo formato llamado WebP y hoy analizaremos de que se trata y como usarlo en ambientes Linux.
Cuando se usa el formato WebP, los webmasters y los desarrolladores web tienen la capacidad de gestionar imágenes más pequeñas y con mejores atributos lo cual se ve reflejado en un tiempo de carga mucho menor de los sitios web. Hablando con resultados, las imágenes sin pérdida de WebP son un 26% más pequeñas si las comparamos con el formato PNG y las imágenes con pérdida WebP son entre un 25 a 34% más pequeñas que las imágenes JPEG en un índice de calidad SSIM.
La compresión WebP con pérdidas hace uso de la codificación predictiva con el fin de codificar una imagen, siendo este el mismo método que se usa en el códec de video VP8 para comprimir fotogramas en videos. Este tipo de codificación predictiva hace uso de los valores en bloques de píxeles con el fin de predecir los valores en un bloque, y luego codificar solo la diferencia entre estos.
Desde este punto de vista, un archivo WebP está compuesto por datos de imágenes VP8 o VP8L, y un contenedor basado en RIFF. El formato WebP cuenta con soporte nativo en Google Chrome y en el navegador Opera, así como en muchas otras herramientas y bibliotecas de software actuales.
Al usar el formato WebP, se incluye una biblioteca ligera de codificación y decodificación libwebp así como las herramientas de línea de comandos cwebp y dwebp para convertir imágenes al formato WebP.
Para este ejemplo usaremos Ubuntu 17.10. En este caso, el paquete webp está disponible en los repositorios oficiales de esta distribución, por lo cual será posible instalarlo haciendo uso del administrador de paquetes APT de la siguiente forma:
sudo apt install webp
Ingresamos la letra S para confirmar la descarga e instalación de la aplicación. En el caso de otras distribuciones de Linux, es posible descargar el paquete webp del repositorio oficial de Google Analytics haciendo uso del comando wget así:
wget -c https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-0.6.1-linux-x86-32.tar.gz
A continuación podemos ejecutar las siguientes líneas:
tar -xvf libwebp-0.6.1-linux-x86-32.tar.gzcd libwebp-0.6.1-linux-x86-32/cd bin/ls
Podemos fijarnos que dicha biblioteca precompilada (libwebp) contiene diversos elementos para agregar codificación o decodificación web a los elementos multimedia y posee diversas utilidades web como las siguientes.
anim_diff
anim_dump
cwebp
dwebp
gif2webp
img2webp
Vwebp
webpinfo
Webpmux
De este modo, para convertir una imagen a webp, es posible usar la herramienta cwebp, usando el parámetro –q el cual define la calidad de salida y –o el cual especifica el archivo de salida usando alguna de las siguientes opciones:
cwebp -q 60 Solvetic.jpg -o Solvetic.webp./cwebp -q 60 Solvetic.jpg -o Solvetic.webp
- Dimensión de la imagen
- Bytes usados
- Bloques creados
- Niveles de filtro y más
Si deseamos visualizar la imagen WebP, podemos ejecutar la siguiente línea:
vwebp Solvetic.webpSi deseamos ver todas las opciones de WebP podemos ejecutar la siguiente línea:
cwebp –longhelp
Podemos ver como es de simple y útil el establecer este nuevo formato de imagen y de este modo sacar al máximo sus beneficios.