Nome
cwebp
: compacta um arquivo de imagem em um arquivo WebP.
Sinopse
cwebp [options] input_file -o output_file.webp
Descrição
cwebp
compacta uma imagem usando o formato WebP. O formato de entrada pode ser
PNG, JPEG, TIFF, WebP ou amostras brutas Y'CbCr.
Observação: não há suporte para arquivos animados PNG e WebP.
Opções
As opções básicas são:
-o string
- Especifique o nome do arquivo WebP de saída. Se omitido, o
cwebp
realiza a compactação, mas informa apenas as estatísticas. Usar "-" como nome de saída direcionará a saída para "stdout". -- string
- Especificar explicitamente o arquivo de entrada. Essa opção é útil se o arquivo de entrada
começar com um "-", por exemplo. Essa opção precisa ser exibida como
last
. Todas as outras opções posteriores serão ignoradas. -h, -help
- Um breve resumo de uso.
-H, -longhelp
- Um resumo de todas as opções possíveis.
-version
- Mostre o número da versão (como major.minor.revision) e saia.
-lossless
- Codifique a imagem sem nenhuma perda. Para imagens com área totalmente transparente,
os valores de pixels invisíveis (R/G/B ou Y/U/V) só vão ser preservados se a
opção
-exact
for usada. -near_lossless int
- Especifique o nível de pré-processamento de imagens quase sem perdas. Essa opção ajusta
os valores de pixels para ajudar a compressibilidade, mas tem um impacto mínimo na qualidade
visual. Ele aciona o modo de compactação sem perda automaticamente.
O intervalo é de
0
(pré-processamento máximo) a100
(sem pré-processamento, o padrão). O valor típico é de aproximadamente60
. Observe que, às vezes, com perda com-q 100
pode gerar resultados melhores. -q float
Especifique o fator de compactação para canais RGB entre
0
e100
. O padrão é75
.No caso de compactação com perda (padrão), um fator pequeno produz um arquivo menor com qualidade inferior. A melhor qualidade é alcançada usando um valor de
100
.No caso da compactação sem perdas (especificada pela opção
-lossless
), um fator pequeno permite uma velocidade de compactação mais rápida, mas produz um arquivo maior. A compactação máxima é alcançada usando um valor de100
.-z int
Ative o modo de compactação
lossless
com o nível especificado entre 0 e 9, sendo 0 o mais rápido e 9 o mais lento. O Modo rápido produz um tamanho de arquivo maior do que os mais lentos. Um bom padrão é-z 6
. Na verdade, essa opção é um atalho para algumas configurações predefinidas de qualidade e método. Se as opções-q
ou-m
forem usadas posteriormente, ela invalidará o efeito dessa opção.-alpha_q int
Especifique o fator de compactação para a compactação Alfa entre
0
e100
. A compressão alfa sem perda é alcançada usando um valor de100
, enquanto os valores mais baixos resultam em uma compactação com perda. o padrão é100
.-preset string
Especifique um conjunto de parâmetros predefinidos para atender a um tipo específico de material de origem. Os valores possíveis são:
default
,photo
,picture
,drawing
,icon
,text
.Como
-preset
substitui os valores dos outros parâmetros (exceto o-q
), essa opção precisa aparecer primeiro na ordem dos argumentos.-m int
Especifique o método de compactação a ser usado. Esse parâmetro controla a compensação entre a velocidade da codificação e o tamanho e a qualidade do arquivo compactado. Os valores possíveis variam de
0
a6
. O valor padrão é4
. Quando valores mais altos são usados, o codificador passa mais tempo inspecionando outras possibilidades de codificação e decide o ganho de qualidade. Um valor menor pode resultar em um tempo de processamento mais rápido, mas pode resultar em um tamanho de arquivo maior e uma qualidade de compactação menor.-crop x_position y_position width height
Corte a origem em um retângulo com o canto superior esquerdo nas coordenadas (
x_position
,y_position
) e no tamanhowidth
xheight
. Essa área de corte precisa estar totalmente contida no retângulo de origem. Observação: o corte é aplicado antes de qualquer dimensionamento.-resize width height
Redimensione a origem para um retângulo com o tamanho
width
xheight
. Se um (mas não ambos) dos parâmetros de largura ou altura for0
, o valor será calculado preservando a proporção. Observação: o dimensionamento é aplicado após o corte.-mt
Se possível, use várias linhas de execução para a codificação.
-low_memory
Reduza o uso da memória da codificação com perda economizando quatro vezes o tamanho compactado (normalmente). Isso tornará a codificação mais lenta e a saída será um pouco diferente em tamanho e distorção. Essa sinalização só é eficaz para os métodos 3 e mais recentes e está desativada por padrão. Observe que deixar essa sinalização desativada terá alguns efeitos colaterais no bitstream: ela força determinados recursos de bitstream, como o número de partições (forçado para
1
). Observe que um relatório mais detalhado do tamanho do bitstream é impresso porcwebp
ao usar essa opção.
Opções com perdas
Essas opções só são eficazes ao fazer uma codificação com perdas (padrão, com ou sem alfa).
-size int
- Especifique um tamanho de destino (em bytes) para tentar alcançar a saída
compactada. O compressor fará várias passagens de codificação parcial para chegar o mais próximo possível desse destino. Se
-size
e-psnr
forem usados, o valor de-size
prevalecerá. -psnr float
- Especifique um PSNR alvo (em dB) para tentar alcançar a saída compactada.
O compressor fará várias passagens de codificação parcial para chegar o mais próximo possível desse destino. Se
-size
e-psnr
forem usados, o valor-size
prevalecerá. -pass int
- Define um número máximo de cartões a serem usados durante a dicotomia usada pelas opções
-size
ou-psnr
. O valor máximo é10
. O padrão é1
. Se as opções-size
ou-psnr
tiverem sido usadas, mas-pass
não tiver sido especificada, um valor padrão de "6" vai ser usado. Se-pass
for especificado, mas-size
e-psnr
não forem, um PSNR desejado de 40dB será usado. -af
- Ativa o filtro automático. Esse algoritmo vai gastar mais tempo otimizando a intensidade do filtro para alcançar uma qualidade equilibrada.
-jpeg_like
- Mude o mapeamento de parâmetros internos para corresponder melhor ao tamanho esperado da
compactação JPEG. Essa sinalização geralmente produz um arquivo de saída de
tamanho semelhante ao equivalente em JPEG (para a mesma configuração de
-q
), mas com menos distorção visual.
Opções avançadas:
-f int
- Especifique a intensidade do filtro de desbloqueio entre
0
(sem filtragem) e100
(filtragem máxima). O valor0
desativa a filtragem. Um valor mais alto vai aumentar a intensidade do processo de filtragem aplicado após a decodificação da imagem. Quanto maior o valor, mais suave a imagem será exibida. Os valores típicos geralmente estão na faixa de20
a50
. -sharpness int
- Especifique a nitidez da filtragem (se usada). O intervalo é de
0
(mais nítido) a7
(menos nítido). O padrão é0
. -strong
- Use filtragem forte (se a filtragem estiver sendo usada graças à opção
-f
). A filtragem forte fica ativada por padrão. -nostrong
- Desativar a filtragem forte (se estiver sendo usada graças à opção
-f
) e usar a filtragem simples. -sharp_yuv
- Use uma conversão RGB->YUV mais precisa e nítida, se necessário. Esse processo é mais lento do que a conversão padrão "rápida" de RGB->YUV.
-sns int
- Especifique a amplitude da modelagem de ruído espacial. A modelagem de ruído espacial
(ou sns, na sigla em inglês) se refere a uma coleção geral de algoritmos integrados
usados para decidir qual área da imagem precisa usar relativamente menos bits
e onde mais transferir esses bits melhor. O intervalo possível vai de
0
(o algoritmo está desativado) para100
(o efeito máximo). O valor padrão é50
. -segments int
- Altere o número de partições a serem usadas durante a segmentação do algoritmo
sns. Os segmentos precisam estar entre
1
e4
. O valor padrão é4
. Essa opção não tem efeito para os métodos 3 e mais recentes, a menos que-low_memory
seja usado. -partition_limit int
- Dificulta a qualidade limitando o número de bits usados por alguns macroblocos.
O intervalo é de
0
(sem degradação, o padrão) a100
(degradação completa). Os valores úteis geralmente ficam em torno de30
a70
para imagens moderadamente grandes. No formato VP8, a chamada partição de controle tem um limite de 512k e é usada para armazenar as seguintes informações: se o macrobloco é ignorado, a qual segmento ele pertence, se está codificado como modo intra 4x4 ou intra 16x16 e, por fim, os modos de previsão a serem usados para cada um dos subblocos. Para uma imagem muito grande, a resolução de 512k só deixa espaço para alguns bits por macrobloco de 16x16. O mínimo absoluto é de 4 bits por macrobloco. As informações de salto, segmento e modo podem usar quase todos esses 4 bits (embora o caso seja improvável), o que é problemático para imagens muito grandes. O fatorpartition_limit
controla a frequência com que o modo mais caro (intra 4x4) será usado. Isso é útil caso o limite de 512 mil seja atingido e a seguinte mensagem seja exibida: Código de erro: 6 (PARTITION0_OVERFLOW: A partição #0 é muito grande para caber em 512k). Se o uso de-partition_limit
não for suficiente para atender à restrição de 512k, será preciso usar menos segmentos para economizar mais bits de cabeçalho por macrobloco. Consulte a opção-segments
. As opções-m
e-q
também influenciam as decisões do codificador e a capacidade de atingir esse limite.
Opções de registro
Estas opções controlam o nível de saída:
-v
- Mostre informações extras (especificamente o tempo da codificação).
-print_psnr
- Calcule e informe a média de PSNR (proporção pico-sinal-ruído).
-print_ssim
- Calcular e informar a SSIM média (métrica de similaridade estrutural). Consulte https://en.wikipedia.org/wiki/SSIM para mais detalhes (em inglês).
-print_lsim
- Calcular e informar a métrica de semelhança local (soma do menor erro entre os vizinhos de pixels colocalizados).
-progress
- Relatório do progresso da codificação em porcentagem.
-quiet
- Não imprima nada.
-short
- Só imprime informações breves (tamanho do arquivo de saída e PSNR) para fins de teste.
-map int
- Mapa de saída ASCII extra das informações de codificação. Os valores possíveis do mapa variam de
1
a6
. Isso é feito apenas para ajudar na depuração.
Opções adicionais
As opções mais avançadas são:
-s width height
- Especifique que o arquivo de entrada consiste em amostras brutas de Y'CbCr
seguindo a recomendação ITU-R BT.601, no formato linear 4:2:0. O
plano de luma tem o tamanho
width
xheight
. -pre int
- Especifique algumas etapas de pré-processamento. O uso de um valor
2
vai acionar o pontilhamento pseudoaleatório dependente da qualidade durante a conversão RGBA->YUVA (somente compressão com perda). -alpha_filter string
- Especificar o método de filtragem preditiva para o plano Alfa. Um de
none
,fast
oubest
, em ordem crescente de complexidade e lentidão. O padrão éfast
. Internamente, a filtragem Alfa é realizada usando quatro previsões possíveis (nenhuma, horizontal, vertical, gradiente). O modobest
vai testar cada modo por vez e escolher o que tiver o tamanho menor. O modofast
vai tentar formar um palpite uma priori sem testar todos os modos. -alpha_method int
- Especifique o algoritmo usado para a compactação Alfa:
0
ou1
. O algoritmo0
indica sem compactação, e o1
usa o formato WebP sem perda para compactação. O padrão é1
. -exact
- Preserve os valores RGB na área transparente. Para ajudar na compactação, o padrão é desativado.
-blend_alpha int
- Essa opção combina o Canal Alfa (se presente) com a fonte usando
a cor de fundo especificada em hexadecimal como 0xrrggbb. O canal
alfa é redefinido posteriormente para o valor opaco
255
. -noalpha
- Usar esta opção descartará o Canal Alfa.
-hint string
- Especifique a dica sobre o tipo de imagem de entrada. Os valores possíveis são:
photo
,picture
ougraph
. -metadata string
Uma lista separada por vírgulas de metadados que serão copiados da entrada para a saída, se houver. Valores válidos:
all
,none
,exif
,icc
,xmp
. O padrão énone
.Nem todos os formatos de entrada aceitam todas as combinações.
-noasm
Desativa todas as otimizações de assembly.
Bugs
Informe todos os bugs ao Issue Tracker: https://bugs.chromium.org/p/webp
Patches bem-vindos! Para começar, consulte esta página: https://www.webmproject.org/code/contribute/submitting-patches/
Exemplos
cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png
Autores
cwebp
faz parte do libwebp
e foi escrito pela equipe do WebP.
A árvore de origem mais recente está disponível em
https://chromium.googlesource.com/webm/libwebp/
Esta página de manual foi escrita para o projeto Debian (e pode ser usada por outras pessoas).