cwebp

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) a 100 (nenhum pré-processamento, o padrão). O valor típico é de cerca 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 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 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 invalidarã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 de alfa é alcançada usando um valor de 100, 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 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 para um retângulo com canto superior esquerdo nas coordenadas (x_position, y_position) e tamanho width x height. 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 x height. Se um (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 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 por cwebp 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) e 100 (filtragem máxima). O valor 0 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 de 20 a 50.
-sharpness int
Especifique a nitidez do filtro (se usado). O intervalo é de 0 (mais nítido) a 7 (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) a 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 algoritmo do SNS. 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. 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 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
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 a 6. 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 x height.
-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 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 tenta formar uma estimativa a priori sem testar todos os modos.
-alpha_method int
Especifica o algoritmo usado para a compactação Alfa: 0 ou 1. O algoritmo 0 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 ou graph.
-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

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