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 Y'CbCr brutas.
Observação: arquivos animados PNG e WebP não são compatíveis.
Opções
As opções básicas são:
-o string
- Especifique o nome do arquivo WebP de saída. Se omitido, o
cwebp
realizará a compactação, mas apenas as estatísticas de relatórios. O uso de "-" como nome da saída irá direcionar a saída para 'stdout'. -- string
- Especifique explicitamente o arquivo de entrada. Essa opção é útil se o arquivo de
entrada começar com &&39;-' por exemplo. Essa opção precisa aparecer
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
- Exibir o número da versão (como principal.minor.revision) e sair.
-lossless
- Codifique a imagem sem perdas. Para imagens com área totalmente transparente,
os valores de pixel invisíveis (R/G/B ou Y/U/V) serão preservados somente 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 pixel para ajudar a compactação, mas tem impacto mínimo na qualidade
visual. Ele aciona automaticamente o modo de compactação sem perda.
O intervalo é de
0
(pré-processamento máximo) a100
(sem pré-processamento, o padrão). O valor típico é próximo de60
. Às vezes, a perda com-q 100
pode gerar melhores resultados. -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 pequeno fator produz um arquivo pequeno com qualidade inferior. A melhor qualidade é alcançada com um valor de
100
.No caso de compactação sem perda (especificada pela opção
-lossless
), um pequeno fator permite uma velocidade de compactação mais rápida, mas produz um arquivo maior. A compactação máxima é realizada com um valor de100
.-z int
Ative o modo de compactação
lossless
com o nível especificado entre 0 e 9, sendo que o 0 é o mais rápido, 9 é o mais lento. O Modo rápido produz um tamanho de arquivo maior que os mais lentos. Um bom padrão é-z 6
. 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, elas invalidarão o efeito dessa opção.-alpha_q int
Especifique o fator de compactação para a compactação Alfa entre
0
e100
. A compactação sem perda do Alfa é realizada com 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 outros parâmetros' valores (exceto o-q
), esta opção deve, de preferência, aparecer primeiro na ordem dos argumentos.-m int
Especifique o método de compactação que será usado. Esse parâmetro controla a troca entre a velocidade de 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 decidendo o ganho de qualidade. Valores mais baixos podem resultar em um tempo de processamento mais rápido, às custas de um tamanho de arquivo maior e de qualidade de compactação mais baixa.-crop x_position y_position width height
Corte a origem em um retângulo com o canto superior esquerdo em coordenadas (
x_position
,y_position
) e tamanhowidth
xheight
. Essa área de corte precisa estar totalmente dentro do retângulo de origem. Observação: o corte é aplicado antes de qualquer escalonamento.-resize width height
Redimensione a origem para um retângulo com tamanho
width
xheight
. Se ambos (mas não ambos) os parâmetros de largura ou altura forem0
, o valor será calculado preservando a proporção. Observação: o escalonamento é aplicado após o corte.-mt
Use várias linhas de execução para codificação, se possível.
-low_memory
Reduza o uso de memória da codificação com perda ao salvar quatro vezes o tamanho compactado (geralmente). Isso fará com que a codificação seja mais lenta e a saída um pouco diferente de tamanho e distorção. Essa sinalização só é eficaz para os métodos 3 e mais recentes e, por padrão, fica desativada. 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çadas a
1
). Observe que um relatório mais detalhado do tamanho do bitstream será impresso porcwebp
ao usar essa opção.
Opções com perdas
Essas opções só são eficazes ao fazer codificação com perdas (o 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 se aproximar o máximo possível dessa meta. Se
-size
e-psnr
forem usados, o valor de-size
prevalecerá. -psnr float
- Especifique um destino PSNR (em dB) para tentar alcançar a saída compactada.
O compressor fará vários cartões de codificação parcial para se aproximar o máximo possível dessa meta. Se
-size
e-psnr
forem usados, o valor de-size
prevalecerá. -pass int
- Defina um número máximo de cartões para usar durante a dicotomia usada pelas opções
-size
ou-psnr
. O valor máximo é10
, e o padrão é1
. Se as opções-size
ou-psnr
forem usadas, mas-pass
não for especificado, um valor padrão de '6' cartões será usado. -af
- Ativa o filtro automático. Esse algoritmo passará mais tempo otimizando a intensidade da filtragem para alcançar uma qualidade equilibrada.
-jpeg_like
- Altere 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 o nível do filtro de desbloqueio entre
0
(sem filtragem) e100
(filtragem máxima). Um valor de0
desativará todos os filtros. Um valor maior aumenta a intensidade do processo de filtragem aplicado após a decodificação da imagem. Quanto maior o valor, mais suave será a imagem exibida. Os valores típicos costumam estar no intervalo de20
a50
. -sharpness int
- Especifique a nitidez da filtragem (se usada). O intervalo é de
0
(mais preciso) a7
(menos preciso). O padrão é0
. -strong
- Use a filtragem forte (se a filtragem estiver sendo usada graças à opção
-f
). A filtragem forte é ativada por padrão. -nostrong
- Desative o filtro forte (se ele estiver sendo usado graças à opção
-f
) e use um filtro simples. -sharp_yuv
- Use conversões RGB->YUV mais precisas e mais nítidas, se necessário. Esse processo é mais lento que a conversão padrão 'fast' RGB->YUV.
-sns int
- Especifique a amplitude da modelagem de ruído espacial. O ajuste de ruído espacial
(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 para que outro lugar pode transferir melhor esses bits. O intervalo possível vai de
0
(o algoritmo está desativado) a100
(o efeito máximo). O valor padrão é50
. -segments int
- Alterar o número de partições a serem usadas durante a segmentação do algoritmo dos sensores. Os segmentos devem estar no intervalo de
1
a4
. 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
- Reduza a qualidade limitando o número de bits usados por alguns macroblocks.
O intervalo é
0
(sem degradação, o padrão) como100
(degradação completa). Os valores úteis geralmente ficam entre30
e70
para imagens moderadamente grandes. No formato VP8, a chamada partição de controle tem um limite de 512 mil e é usada para armazenar as seguintes informações: se o macroblock é ignorado, a que segmento ele pertence, se está codificado como intra 4x4 ou intra 16x16 e, por fim, os modos de previsão a serem usados para cada um dos subblocos. Para imagens muito grandes, 512k deixa espaço apenas para alguns bits por macrobloco 16x16. O mínimo absoluto é 4 bits por macrobloco. As informações de opção de pular, segmentar e modo podem usar quase todos esses quatro bits (embora o caso seja improvável), o que é um problema para imagens muito grandes. O fatorpartition_limit
controla a frequência com que o modo mais caro (intra 4 x 4) será usado. Isso será ú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 512 mil). Se o uso de-partition_limit
não for suficiente para atender à restrição de 512 mil, é necessário usar menos segmentos para economizar mais bits de cabeçalho por macrobloco. Consulte a opção-segments
.
Opções de registro
Estas opções controlam o nível de saída:
-v
- Exibir mais informações (especificamente o tempo de codificação).
-print_psnr
- Calcule e informe a média de PSNR (proporção de sinal de sinal para ruído).
-print_ssim
- Calcule e relate o SSIM médio (métrica de semelhança estrutural, consulte https://en.wikipedia.org/wiki/SSIM para mais detalhes).
-print_lsim
- Calcular e informar a métrica de semelhança local (soma do menor erro entre os vizinhos de pixels colocalizados)
-progress
- Informe o progresso da codificação em porcentagem.
-quiet
- Não imprimir nada .
-short
- Somente exiba informações breves (tamanho do arquivo de saída e PSNR) para fins de teste.
-map int
- Gere um mapa ASCII adicional das informações de codificação. Os valores possíveis de mapa variam de
1
a6
. Isso serve apenas para ajudar na depuração.
Opções adicionais
Veja as opções mais avançadas:
-s width height
- Especifique se o arquivo de entrada realmente consiste em amostras brutas de Y'CbCr
de acordo com a recomendação IAB-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 de
2
acionará o pseudoaleatório dependente de qualidade durante a conversão de RGBA->YUVA (somente compactação com perda). -alpha_filter string
- Especifique o método de filtragem preditiva para o plano Alfa. Uma destas opções:
none
,fast
oubest
, aumentando a complexidade e a ordem de lentidão. O padrão éfast
. Internamente, a filtragem Alfa é realizada usando quatro previsões possíveis (nenhum, horizontal, vertical, gradiente). O modobest
vai testar cada modo por vez e escolher o que tiver o tamanho menor. O modofast
apenas tentará formar uma suposição sem testar todos os modos. -alpha_method int
- Especifique o algoritmo usado para compactação Alfa:
0
ou1
. O algoritmo0
indica nenhuma compactação, e1
usa o formato sem perda do WebP para compactação. O padrão é1
. -exact
- Mantenha os valores de RGB em área transparente. O padrão é desativado para ajudar a compactação.
-blend_alpha int
- Esta opção combina o canal Alfa (se presente) com a origem usando
a cor de fundo especificada em hexadecimal como 0xrrggbb. O canal Alfa
é redefinido para o valor opaco
255
. -noalpha
- Ao usar essa opção, o canal Alfa será descartado.
-hint string
- Especificar a dica sobre o tipo de imagem de entrada. Os valores possíveis são:
photo
,picture
ougraph
. -metadata string
Uma lista de metadados separada por vírgulas para copiar da entrada para a saída, se presente. Valores válidos:
all
,none
,exif
,icc
,xmp
. O padrão énone
.Cada formato de entrada pode não ser compatível com todas as combinações.
-noasm
Desativar todas as otimizações de montagem.
Bugs
Informe todos os bugs para o Issue Tracker: https://bugs.chromium.org/p/webp
Patches são bem-vindos! Consulte esta página para começar: https://www.webmproject.org/code/contribute/submit-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
O 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 manual foi escrita para o projeto Debian e pode ser usada por outras pessoas.