Como converter imagens para o formato WebP através do terminal Linux

por | 13/07/2023 | Linha de comando

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:

Imagem PNG convertida em WebP
Clique para ampliar

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:

Pacote libwebp - Ferramentas
Clique para ampliar

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:

Saída do comando cwebp
Clique para ampliar

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):

Imagem PNG convertida para WebP
Clique para ampliar

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:

Visualizador de imagens WebP

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!

Compartilhe este conteúdo:

<a href="https://teclinux.com/author/marcos-zy/" target="_self">Marcos A.T. Silva</a>

Marcos A.T. Silva

Apaixonado por tecnologia desde tenra idade, trabalha com TI há mais de 20 anos. Tem no rock and roll (em suas mais variadas vertentes) uma válvula de escape, e adora escrever guias e tutoriais, além de ser um grande entusiasta do Linux e do software livre.

2 Comentários

  1. Samej Spenser

    Mais um excelente artigo…

    Isso me será bastante útil para diminuir o tamanho dos anexos no meu cofre do Obsidian. 😅

    Forte abraço.

  2. Marcos A.T. Silva

    Fico feliz em saber que será útil. 🙂

    Olha, por aqui ajuda bastante, até mesmo nos anexos do Joplin.

    Grande abraço!

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pin It on Pinterest

Share This

Compartilhe

Compartilhe este post com seus amigos!