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,
cwebpvai 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
-exactfor 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 100pode, às vezes, gerar melhores resultados. -q floatEspecifique o fator de compactação para canais RGB entre
0e100. 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 intAtiva o modo de compactação
losslesscom 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-qou-mforem usadas posteriormente, elas invalidarão o efeito dessa opção.-alpha_q intEspecifique o fator de compactação para a compactação alfa entre
0e100. 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 stringEspecifica 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
-presetsubstitui os valores dos outros parâmetros (exceto o-q), essa opção precisa aparecer primeiro na ordem dos argumentos.-m intEspecifique 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
0a6. 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 heightCortar a origem para um retângulo com canto superior esquerdo nas coordenadas (
x_position,y_position) e tamanhowidthxheight. Essa área de corte precisa estar totalmente contida no retângulo de origem. Observação: o corte é aplicado antes de qualquer escalonamento.-resize width heightRedimensione a origem para um retângulo com o tamanho
widthxheight. 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.-mtSe possível, use várias linhas de execução para codificação.
-low_memoryReduza 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 porcwebpao 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
-sizee-psnrforem usados, o valor-sizeprevalecerá. -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
-sizee-psnrforem usados, O valor de-sizeprevalecerá. -pass int- Define um número máximo de passagens a serem usadas durante a dicotomia usada pelas opções
-sizeou-psnr. O valor máximo é10, e o padrão é1. Se as opções-sizeou-psnrforem usadas, mas-passnão for especificado, um valor padrão de 6 cartões será usado. Se-passfor especificado, mas nem-sizenem-psnrforem, 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 valor0desativa 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 de20a50. -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
-fopçã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
1a4. O valor padrão é4. Essa opção não tem efeito para os métodos 3 e posteriores, a menos que-low_memoryseja 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 entre30e70para 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_limitcontrola 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_limitnã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-me-qtambé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
1a6. 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
widthxheight. -pre int- Especifique algumas etapas de pré-processamento. O uso de um valor de
2aciona 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,fastoubest, 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). Obesttestará um modo por vez e escolherá o que dá ao modo tamanho. O modofasttenta formar uma estimativa a priori sem testar todos os modos. -alpha_method int- Especifica o algoritmo usado para a compactação Alfa:
0ou1. O algoritmo0não tem compressão,1usa 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,pictureougraph. -metadata stringUma 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.
-noasmDesativa 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).