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 no formato 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,
cwebp
vai realizar a compactação, mas só vai informar as estatísticas. Usando "-" porque o nome da saída vai direcionar a saída para "stdout". -- string
- Especificar explicitamente o arquivo de entrada. Essa opção é útil se a entrada
arquivo começa com um '-' por exemplo. Essa opção precisa aparecer como
last
. Todas as outras opções serão ignoradas. -h, -help
- Um resumo breve do uso.
-H, -longhelp
- Um resumo de todas as opções possíveis.
-version
- Imprime o número da versão (como major.minor.revision) e sai.
-lossless
- Codifique a imagem sem perdas. Para imagens com área totalmente transparente,
os valores de pixels invisíveis (R/G/B ou Y/U/V) só serão preservados se a
opção
-exact
for usada. -near_lossless int
- Especifica o nível de pré-processamento de imagens quase sem perdas. Essa opção ajusta
os valores de pixel para ajudar na compactação, mas tem um impacto mínimo na qualidade
visual. Ele aciona o modo de compactação sem perda automaticamente.
O intervalo é de
0
(máximo de pré-processamento) a100
(nenhum pré-processamento, o padrão). O valor típico é de cerca de60
. Observe que com perdas com-q 100
pode, às vezes, 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 fator pequeno produz um arquivo menor com qualidade inferior. A melhor qualidade é alcançada usando um valor de
100
.Em caso de compactação sem perdas (especificada pela opção
-lossless
), um Fator pequeno possibilita uma velocidade de compactação mais rápida, mas produz um arquivo maior. A compressão máxima é alcançada usando um valor de100
.-z int
Ativa 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. Modo rápido produz arquivos maiores 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, 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 perdas de alfa é alcançada usando um valor de100
, enquanto os valores mais baixos resultam em uma compactação com perdas. o padrão é100
.-preset string
Especifica um conjunto de parâmetros predefinidos para se adequar 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 o comércio a diferença 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 maior são usados, o codificador passa mais tempo inspecionando as possibilidades de codificação e decidir sobre o ganho de qualidade. Um valor mais baixo pode resultam em um tempo de processamento mais rápido às custas de um tamanho de arquivo maior e compressão menor.-crop x_position y_position width height
Cortar a origem para um retângulo com canto superior esquerdo nas coordenadas (
x_position
,y_position
) e tamanhowidth
xheight
. Essa área de corte precisa estar totalmente contida no retângulo de origem. Observação: o corte é aplicado antes de qualquer escalonamento.-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 escalonamento é aplicado depois recorte.-mt
Se possível, use várias linhas de execução para codificação.
-low_memory
Reduza o uso de memória da codificação com perda salvando quatro vezes o tamanho compactado (normalmente). Isso vai deixar a codificação mais lenta e a saída ligeiramente diferente em tamanho e distorção. Essa sinalização só é eficaz métodos 3 e posteriores e fica desativado por padrão. Se essa sinalização não for ativada, terá alguns efeitos colaterais no bitstream: ele força determinadas recursos como o número de partições (forçadas a
1
). Observe que uma entrada o relatório detalhado do tamanho de bitstream é mostrado porcwebp
ao usar este é a melhor opção.
Opções com perdas
Essas opções só são eficazes ao fazer codificação com perda (padrão, com ou sem alfa).
-size int
- Especifique um tamanho de destino (em bytes) para tentar alcançar a saída
comprimida. O compressor fará várias passagens de codificação parcial no
para chegar o mais próximo possível dessa meta. Se
-size
e-psnr
forem usados, o valor-size
prevalecerá. -psnr float
- Especifique um PSNR de destino (em dB) para tentar alcançar a saída compactada.
O compressor fará várias passagens de codificação parcial para
o mais próximo possível dessa meta. Se
-size
e-psnr
forem usados, O valor de-size
prevalecerá. -pass int
- Define um número máximo de passagens a serem usadas 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. Se-pass
for especificado, mas nem-size
nem-psnr
forem, um PSNR de destino de 40 dB será usado. -af
- Ativa o filtro automático. Esse algoritmo vai passar mais tempo otimizando a força de filtragem para alcançar uma qualidade equilibrada.
-jpeg_like
- Alterar o mapeamento de parâmetros internos para corresponder melhor ao tamanho esperado de
Compactação de JPEG. Essa sinalização geralmente produz um arquivo de saída de
tamanho semelhante ao seu equivalente em JPEG (para a mesma configuração de
-q
), mas com menos distorção visual.
Opções avançadas:
-f int
- Especifica a intensidade do filtro de desbloqueio, entre
0
(sem filtragem) e100
(filtragem máxima). O valor0
desativa qualquer filtragem. Um valor mais alto aumenta a intensidade do processo de filtragem aplicado após a decodificação da imagem. Quanto maior o valor, mais suave a imagem será exibido. Os valores típicos geralmente estão no intervalo de20
a50
. -sharpness int
- Especifique a nitidez do filtro (se usado). O intervalo é de
0
(mais nítido) a7
(menos nítido). O padrão é0
. -strong
- Use a filtragem forte (se ela estiver sendo usada graças à opção
-f
). A filtragem forte fica ativada por padrão. -nostrong
- Desative a filtragem forte, se a filtragem estiver sendo usada graças ao recurso
-f
opção) e use a filtragem simples. -sharp_yuv
- Use a conversão RGB->YUV mais precisa e nítida. Esse processo é mais lento do que a conversão RGB->YUV "rápida" padrão.
-sns int
- Especifique a amplitude da modelagem de ruído espacial. Modelagem de ruído espacial
(ou sns, na sigla em inglês) refere-se a uma coleção geral de algoritmos integrados
usado para decidir qual área da imagem deve usar relativamente menos bits,
e onde mais para melhor transferir 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
- Muda o número de partições a serem usadas durante a segmentação do algoritmo
do SNS. Os segmentos precisam estar no intervalo de
1
a4
. O valor padrão é4
. Essa opção não tem efeito para os métodos 3 e posteriores, a menos que-low_memory
seja usados. -partition_limit int
- Degradar a qualidade limitando o número de bits usados por alguns macroblocos.
O intervalo é de
0
(sem degradação, o padrão) até100
(degradação total). Os valores úteis geralmente ficam entre30
e70
para imagens moderadamente grandes. Em formato VP8, a chamada partição de controle tem um limite de 512k e é usada para armazenar as seguintes informações: se o macrobloco é pulado, a qual segmento pertence, se está codificado como intra 4x4 ou modo intra 16x16 e, por fim, os modos de previsão a serem usados para cada sub-blocos. Para uma imagem muito grande, 512k deixa espaço apenas para alguns bits por de tamanho 16x16. O mínimo absoluto é de 4 bits por macrobloco. As informações de pular, segmentar e modo podem usar quase todos esses 4 bits (embora o caso seja improvável), o que é problemático para imagens muito grandes. O O fatorpartition_limit
controla a frequência com que o modo mais dispendioso (Intra 4x4). Isso é útil caso o limite de 512 mil seja atingido e a seguinte mensagem será exibida: Código do erro: 6 (PARTITION0_OVERFLOW: a partição 0 é muito grande para caber em 512k). Se estiver usando-partition_limit
não é suficiente para atender à restrição de 512k, é preciso usar menos segmentos para economizar mais bits de cabeçalho por macrobloco. Consulte a opção-segments
. Observe que as opções-m
e-q
também influenciam sobre as decisões do codificador e a capacidade de atingir esse limite.
Opções de registro
Essas opções controlam o nível de saída:
-v
- Mostra informações extras (tempo de codificação em particular).
-print_psnr
- Calcular e informar a proporção de pico de sinal-ruído (PSNR, na sigla em inglês) média.
-print_ssim
- Calcular e relatar o SSIM médio (métrica de similaridade estrutural; consulte) https://en.wikipedia.org/wiki/SSIM para mais detalhes).
-print_lsim
- Calcule e informe a métrica de similaridade local (soma do menor erro entre os vizinhos de pixels colcoados).
-progress
- Informa o progresso da codificação em percentual.
-quiet
- Não imprime nada.
-short
- Imprima apenas informações breves (tamanho do arquivo de saída e PSNR) para fins de teste.
-map int
- Gerar mapa ASCII adicional de informações de codificação. Possíveis valores de mapa
de
1
a6
. Isso serve apenas para ajudar na depuração.
Opções adicionais
As opções mais avançadas são:
-s width height
- Especifica que o arquivo de entrada consiste em amostras Y'CbCr brutos
de acordo com a recomendação ITU-R BT.601, no formato linear 4:2:0. O
o plano de luma tem o tamanho de
width
xheight
. -pre int
- Especifique algumas etapas de pré-processamento. O uso de um valor de
2
aciona dithering pseudo-aleatório dependente da qualidade durante a conversão RGBA->YUVA (somente compressão com perda). -alpha_filter string
- Especifique 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). Obest
testará um modo por vez e escolherá o que dá ao modo tamanho. O modofast
tenta formar uma estimativa a priori sem testar todos os modos. -alpha_method int
- Especifica o algoritmo usado para a compactação Alfa:
0
ou1
. O algoritmo0
não tem compressão,1
usa o formato WebP sem perda para compactação. O padrão é1
. -exact
- Preserve os valores RGB na área transparente. O padrão é desativado, compressibilidade.
-blend_alpha int
- Essa opção mescla o canal Alfa (se presente) com a origem usando
a cor de plano 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
- Especifica 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 para copiar da entrada para a saída, se presente. Valores válidos:
all
,none
,exif
,icc
,xmp
. O padrão énone
.Nem todos os formatos de entrada oferecem suporte a todas as combinações.
-noasm
Desativa todas as otimizações de assembly.
Bugs
Informe todos os bugs ao Issue Tracker: https://issues.webmproject.org (em inglês).
Patches bem-vindos! Consulte esta página para começar: 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 criado 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 outros).