Através do uso do formato de imagem WebP você pode otimizar a performance do seu website ou blog, sem abrir mão da qualidade.
E você provavelmente sabe que um site rápido, cujas páginas são carregadas de forma veloz, é algo extremamente importante.
Neste guia, você conhecerá um pacote contendo práticas e pequenas ferramentas capazes de converter imagens para o formato criado pelo Google.
Além disso, este artigo também conta com detalhes de instalação do pacote, com foco em sistemas Linux.
O que é WebP
O WebP é um moderno formato de imagem, que possui código aberto e foi desenvolvido pelo Google no final de 2010.
O formato foi pensado para a web, e trabalha com excelentes taxas de compressão, tanto para o tipo lossless (sem perdas) quanto para lossy (com perdas).
As imagens neste formato possuem tamanhos bem menores, quando comparadas com os seus equivalentes em outros formatos (como PNG e JPG, por exemplo).
Ou seja, arquivos menores ocupam menos espaço em disco e são transferidos de forma mais rápida. Não é difícil entender os motivos pelos quais você deve preferir este formato em seus projetos web.
Ao mesmo tempo, imagens em WebP mantêm um altíssimo nível de qualidade. O formato, além disso, também é suportado pelos principais navegadores web do mercado.
Dessa forma, browsers como Mozilla Firefox, Google Chrome, Opera e Microsoft Edge, por exemplo, suportam nativamente o formato.
Particularmente, utilizo imagens em WebP aqui no TecLinux. Além disso, também faço uso dos mesmos utilitários que irei apresentar abaixo.
Segundo o próprio Google, imagens em WebP sem perdas são 26% menores que seus equivalentes em PNG.
Por outro lado, imagens em WebP com perdas podem ter seus tamanhos reduzidos em taxas que variam de 25% a 34% (comparando com seus equivalentes em JPEG).
Uma pequena comparação
E apenas a título de curiosidade, abaixo você pode conferir uma pequena comparação, utilizando uma imagem gerada pela ferramenta de inteligência artificial Stable Diffusion.
A imagem à esquerda é a original, no formato PNG, enquanto a imagem à direita foi convertida para WebP através da ferramenta objeto deste artigo:
Perceba que a diferença de tamanho entre ambas é enorme. Enquanto a imagem original, em PNG (1024 x 1024 pixels), “pesa” 1,8 MB, sua correspondente em WebP possui meros 74,9 Kb.
Imagine, agora, o impacto de uma pequena alteração como esta em um servidor web. Pense na largura de banda que pode ser economizada, bem como no menor uso de espaço em disco, por exemplo.
O formato WebP e o pacote libwebp
O Google disponibiliza, através da página do projeto, alguns utilitários pré-compilados que facilitam bastante o processo de conversão de imagens.
Trata-se, na verdade, de uma coleção contendo algumas bibliotecas e utilitários. Um pequeno pacote que permite que você converta imagens no terminal Linux de forma fácil e rápida.
Vale ressaltar que existem outros métodos de conversão, é claro. Você pode inclusive utilizar práticas ferramentas online gratuitas.
Porém, eu gosto bastante de utilizar o terminal, bem como explorar a infinidade de ferramentas CLI disponíveis no Linux. Poucas coisas conseguem superar a agilidade e a leveza da linha de comando.
E agora, confira algumas das ferramentas inclusas no pacote libwebp
. As mais úteis e interessantes, digamos:
- cwebp: utilitário para conversão de imagens para o formato WebP;
- dwebp: utilitário para descompressão de imagens em WebP (para o formato PNG, por exemplo);
- gif2webp: ferramenta para conversão de imagens GIF em WebP;
- img2webp: utilitário que comprime uma sequência de imagens em um arquivo WebP animado;
- vwebp: visualizador de imagens.
O pacote libwebp
conta com versões para Linux, Windows e macOS. Porém, por motivos óbvios, este artigo cobre a versão destinada ao sistema operacional do pinguim.
Como instalar o libwebp no Linux
É possível encontrar o pacote libwebp
nos repositórios de algumas distribuições Linux. De qualquer forma, seguem abaixo algumas instruções relacionadas à instalação do mesmo.
Instalando o libwebp no Ubuntu e derivados
Você apenas precisa abrir seu terminal e executar o seguinte comando:
sudo apt install webp
Instalando o libwebp no Arch Linux e derivados
Por outro lado, para instalar o pacote no Arch Linux, bem como em distros dele derivadas, basta utilizar o comando abaixo:
sudo pacman -S libwebp
Instalando o libwebp em outras distros
Agora, se você utiliza alguma outra distribuição, é possível baixar o pacote libwebp
diretamente do Google.
Neste caso, você pode até mesmo baixá-lo dentro da pasta Downloads
, na home
do seu usuário (é apenas uma sugestão).
Dessa forma, navegue até esta pasta utilizando o comando cd
, da seguinte forma:
cd ~/Downloads
Agora, baixe a última versão do pacote, através do seguinte comando:
wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.3.1-linux-x86-64.tar.gz
Após o download, permaneça na mesma pasta e descompacte o arquivo, através do comando abaixo:
tar -xvf libwebp-1.3.1-linux-x86-64.tar.gz
Finalmente, acesse o diretório recém criado, através do seguinte comando:
cd libwebp-1.3.1-linux-x86-64/bin
Obs: observe que também acessamos um subdiretório de libwebp-1.3.1-linux-x86-64
(o subdiretório bin
, que contém os executáveis).
Confira agora os utilitários existentes, através do comando ls
:
Agora você já pode utilizar as ferramentas desejadas, incluindo o cwebp
, que permite a conversão de imagens via terminal.
E para facilitar ainda mais, execute o comando abaixo, para que você possa “chamar” o comando cwebp
a qualquer momento:
sudo cp libwebp-1.3.1-linux-x86-64/bin/cwebp /bin
Obs: faça o mesmo para as ferramentas que desejar utilizar (confira a lista acima). Apenas faça as modificações necessárias, substituindo o utilitário/nome cwebp
pela ferramenta desejada.
Obs 2: também seria possível adicionar o diretório onde você baixou o pacote ao PATH do sistema, é claro.
Convertendo imagens para WebP no terminal
Agora que você instalou o pacote no seu Linux, suas imagens podem ser perfeitamente convertidas para o formato WebP, porém mantendo sempre a alta qualidade.
A ferramenta que possibilita a conversão de imagens PNG ou JPG, por exemplo, em WebP, chama-se cwebp
.
Este utilitário, na verdade, é muito fácil de ser utilizado. Basicamente, você só precisa utilizar um comando com a seguinte sintaxe:
cwebp Arquivo_De_entrada.extensao -o Arquivo_De_Saida.webp
Obs: observe que a flag -o
diz respeito ao output, ou saída.
Por exemplo:
cwebp codec.png -o codec.webp
Ou seja, o comando acima converterá a imagem codec.png
em uma imagem WebP (codec.webp
).
Além disso, após a conversão da imagem, o utilitário exibe algumas informações e estatísticas, como você pode ver abaixo:
E assim por diante, lembrando também que você pode trabalhar com o cwebp
tanto com caminhos absolutos quanto com caminhos relativos.
Observe agora o resultado do processo de conversão realizado através do comando acima, onde o tamanho da imagem caiu de 112,2 KB (PNG) para 15,1 KB (WebP):
WebP: ajustando o nível de qualidade das conversões
Você também pode utilizar uma opção adicional (-q
) no comando, de modo a especificar o nível de qualidade de suas conversões.
Dessa forma, basta utilizar um comando com a seguinte sintaxe:
cwebp Arquivo_De_Entrada.extensao -q 75 -o Arquivo_De_Saida.webp
Agora, como arquivo de entrada, vamos utilizar a mesma imagem do exemplo acima (codec.png
), porém definindo seu nível de qualidade em 50:
cwebp codec.png -q 50 -o codec2.webp
Obviamente, você pode realizar seus próprios testes e utilizar o nível de qualidade que melhor atender às suas necessidades.
Vale lembrar que níveis inferiores de qualidade resultarão em arquivos cada vez menores. Fique apenas atento à qualidade resultante, e se ela está de acordo com o que você precisa.
Opções e recursos adicionais
O pacote libwebp
conta com bibliotecas e utilitários bastante úteis, porém, devido ao escopo deste guia, foquei apenas em seus recursos de conversão de imagens para o formato WebP.
De qualquer forma, seguem alguns detalhes bem interessantes e úteis.
Visualizando arquivos WebP
Em primeiro lugar, vale lembrar que você pode visualizar as imagens WebP resultantes/convertidas através do editor de sua preferência.
É possível usar uma variedade enorme de programas e/ou visualizadores, é claro. Porém, o pacote também inclui um visualizador, o vwebp
.
Se você deseja visualizar seus arquivos WebP rapidamente, à partir do próprio terminal, use um comando com a sintaxe abaixo:
vwebp nome_Do_Arquivo.webp
Por exemplo:
vwebp DALL-E_convertida.webp
Dessa forma, a ferramenta WebP Viewer exibirá rapidamente a imagem:
Gerando animações WebP
Por outro lado, para gerar uma animação WebP contendo uma sequência de imagens (através do utilitário img2webp
), basta usar um comando com a sintaxe abaixo:
img2webp Arquivo_Entrada1.webp Arquivo_Entrada2.webp -o animacao.webp
Por exemplo:
img2webp codec.webp codec2.webp -o animacao.webp
O comando acima irá unir as imagens codec.webp
e codec2.webp
em uma animação WebP chamada animacao.webp
.
E você pode utilizar qualquer número de imagens de entrada. É apenas necessário ficar atento aos tamanhos das mesmas (as dimensões de todas devem ser iguais).
Manuais e ajuda
A qualquer momento, além disso, você pode consultar os “manuais” dos comandos, além da ajuda. No caso do utilitário de conversão, o cwebp
, por exemplo, você pode usar os comandos abaixo:
man cwebp
cwebp --help
E assim por diante. O mesmo pode ser feito com os utilitários dwebp
e img2webp
, por exemplo.
Também é interessante lembrar mais uma vez que o pacote libwebp
oferece vários utilitários, bibliotecas, comandos, opções e flags.
Trata-se de algo bastante completo, e eu mesmo o utilizo diariamente na produção de conteúdo para o TecLinux (convertendo imagens, principalmente).
Apenas não entrei em maiores detalhes sobre tudo isto para não fugir do escopo do guia.
Conclusão
Como você pôde perceber, o pacote libwebp
permite que você lide com imagens no formato WebP de várias formas.
Acredito até que o principal recurso oferecido pelo conjunto de utilitários é ajudar o usuário durante a conversão de imagens, de forma rápida e prática.
Trabalhar com arquivos WebP, desta forma, através do terminal do Linux, é muito mais fácil e prático. Trata-se de um método bem mais rápido do que acessar um dos inúmeros conversores online (pelo menos em minha opinião).
Espero que você tenha apreciado este conteúdo. E em caso de dúvidas e/ou sugestões, não hesite em deixar um comentário!
Mais um excelente artigo…
Isso me será bastante útil para diminuir o tamanho dos anexos no meu cofre do Obsidian. 😅
Forte abraço.
Fico feliz em saber que será útil. 🙂
Olha, por aqui ajuda bastante, até mesmo nos anexos do Joplin.
Grande abraço!