cwebp

Nome

cwebp: compacta um arquivo de imagem em um arquivo WebP.

Sinopse

cwebp [options] input_file -o output_file.webp

Descrição

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, o cwebp vai executar do navegador, mas só relatam 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 last. Todas as outras opções posteriores serão ignoradas.
-h, -help
Um breve resumo do uso.
-H, -longhelp
Um resumo de todas as opções possíveis.
-version
Exiba o número da versão (como main.minor.revision) e saia.
-lossless
Codifique a imagem sem perdas. Para imagens com área totalmente transparente, os valores invisíveis de pixel (R/G/B ou Y/U/V) serão preservados somente se o a opção -exact será usada.
-near_lossless int
Especificar o nível de pré-processamento de imagem quase sem perda. Essa opção ajusta valores de pixel para ajudar na compressibilidade, mas tem impacto mínimo sobre o visual de qualidade. Ele aciona o modo de compactação sem perda automaticamente. O intervalo é de 0 (pré-processamento máximo) a 100 (sem pré-processamento, o padrão). O valor normal é por volta de 60. 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 e 100. O padrão é 75.

No caso de compactação com perda (padrão), um fator pequeno produz uma 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 compactação máxima é alcançada usando um valor de 100.

-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 serão o efeito dessa opção.

-alpha_q int

Especifique o fator de compactação para a compactação alfa entre 0 e 100. A compactação sem perdas da versão Alfa é alcançada usando um valor de 100, enquanto valores mais baixos resultam em uma compactação com perda. o padrão é 100.

-preset string

Especifique 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 o dos outros parâmetros, (exceto o parâmetro -q essa opção deve aparecer primeiro, na ordem das .

-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 a 6. 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 em um retângulo com o canto superior esquerdo nas coordenadas (x_position, y_position) e o tamanho width x height. Esse corte deve estar totalmente contida no retângulo de origem. Observação: o recorte é aplicado antes de qualquer escalonamento.

-resize width height

Redimensione a origem para um retângulo com o tamanho width x height. Se (mas não ambos) dos parâmetros de largura ou altura for 0, 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 economizando quatro vezes o tempo tamanho (normalmente). Isso torna a codificação mais lenta e a saída ligeiramente diferentes 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 o relatório detalhado do tamanho de bitstream é mostrado por cwebp ao usar este é a melhor opção.

Opções com perdas

Essas opções só são eficazes ao fazer uma codificação com perda (o padrão, com ou sem alfa).

-size int
Especificar um tamanho de destino (em bytes) para tentar alcançar o saída. 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 desejado (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
Definir um número máximo de passes a serem usados durante a dicotomia usada pelas opções -size ou -psnr. O valor máximo é 10, e o padrão é 1. Opções "Se" Foram usados -size ou -psnr, mas -pass não foi especificado. É um valor padrão de "6" serão usados. Se -pass for especificado, mas nem -size nem -psnr, um PSNR desejado de 40 dB será usado.
-af
Ativa o filtro automático. Esse algoritmo vai passar mais tempo otimizando a intensidade da 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
Especificar a intensidade do filtro de desbloqueio, entre 0 (sem filtragem) e 100 (filtragem máxima). O valor 0 vai desativar qualquer filtro. Um valor mais alto aumentará a intensidade do processo de filtragem aplicado depois de decodificar a imagem. Quanto maior o valor, mais suave a imagem será exibido. Os valores típicos geralmente estão no intervalo de 20 a 50.
-sharpness int
Especifique a nitidez do filtro (se usado). O intervalo é 0 (mais nítido) para 7 (menos nítidos). O padrão é 0.
-strong
Use filtragem forte, se a filtragem estiver sendo usada graças ao recurso -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, se necessário. Observe que este é mais lento que o padrão "rápido" conversão RGB->YUV.
-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) para 100 (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 sns algoritmo. Os segmentos precisam estar no intervalo de 1 a 4. 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 entre 30 e 70 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. Pular, informações de segmento e modo podem usar quase todos esses 4 bits (embora esse caso é improvável), o que é um problema para imagens muito grandes. A O fator partition_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
Mostre informações extras, como a hora da codificação.
-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
Calcular e relatar a métrica de semelhança local (soma do menor erro entre os vizinhos de pixel posicionados).
-progress
Progresso da codificação do relatório, em porcentagem.
-quiet
Não imprima nada.
-short
Imprimir apenas informações breves (tamanho do arquivo de saída e PSNR) para testes e propósitos diferentes.
-map int
Gerar mapa ASCII adicional de informações de codificação. Possíveis valores de mapa de 1 a 6. Isso serve apenas para ajudar na depuração.

Opções adicionais

As opções mais avançadas são:

-s width height
Especificar que o arquivo de entrada consiste em amostras Y'CbCr brutas seguindo a recomendação ITU-R BT.601, no formato linear 4:2:0. A o plano de luma tem o tamanho de width x height.
-pre int
Especifique algumas etapas de pré-processamento. O uso do valor 2 vai acionar pontilhamento pseudoaleatório dependente da qualidade durante a conversão RGBA->YUVA (apenas compactação com perda).
-alpha_filter string
Especifique o método de filtragem preditiva para o plano Alfa. Um de none, fast ou best, 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 best testará um modo por vez e escolherá o que dá ao modo tamanho. O modo fast tentará formar um palpite a priori sem testando todos os modos.
-alpha_method int
Especifique o algoritmo usado para compactação Alfa: 0 ou 1. Algoritmo 0 indica que não há compactaçã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
Esta opção combina o Canal Alfa (se houver) com a fonte usando a cor de fundo especificada em hexadecimal como 0xrrggbb. Alfa O canal é redefinido posteriormente 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 ou graph.
-metadata string

Uma lista separada por vírgulas de metadados a serem copiados 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

Desativar todas as otimizações de montagem.

Bugs

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