Cwebp

이름

cwebp -- 이미지 파일을 WebP 파일로 압축합니다.

개요

cwebp [options] input_file -o output_file.webp

설명

cwebp는 WebP 형식을 사용하여 이미지를 압축합니다. 입력 형식은 PNG, JPEG, TIFF, WebP 또는 원시 Y'CbCr 샘플일 수 있습니다. 참고: 애니메이션 PNG와 WebP 파일은 지원되지 않습니다.

옵션

기본 옵션은 다음과 같습니다.

-o string
출력 WebP 파일의 이름을 지정합니다. 생략할 경우 cwebp이(가) 실행됩니다. 압축하지만 통계만 보고합니다. '-' 사용 출력 이름은 'stdout'에 출력을 전달합니다.
-- string
입력 파일을 명시적으로 지정합니다. 이 옵션은 입력값이 '-'로 시작하는 파일 예로 들 수 있습니다 이 옵션은 last로 표시되어야 합니다. 이후 다른 옵션은 무시됩니다.
-h, -help
간단한 사용 요약
-H, -longhelp
가능한 모든 옵션의 요약
-version
버전 번호 (Major.minor.revision)를 출력하고 종료합니다.
-lossless
이미지를 손실 없이 인코딩합니다. 완전히 투명한 이미지의 경우 보이지 않는 픽셀 값 (R/G/B 또는 Y/U/V)은 -exact 옵션이 사용됩니다.
-near_lossless int
무손실에 가까운 이미지 사전 처리 수준을 지정합니다. 이 옵션은 픽셀 값을 사용하여 압축성을 높이지만 시각적인 영향은 거의 없습니다. 있습니다. 무손실 압축 모드를 자동으로 트리거합니다. 범위는 0(최대 사전 처리)에서 100(사전 처리 없음, 기본값)입니다. 일반적인 값은 약 60입니다. -q 100를 사용한 손실은 경우에 따라 더 나은 결과를 얻을 수 있습니다.
-q float

RGB 채널의 압축 계수를 0100 사이에서 지정합니다. 기본값은 75입니다.

손실 압축(기본값)의 경우 계수가 작으면 품질이 낮은 더 작은 파일이 생성됩니다. 최고 품질은 100

무손실 압축(-lossless 옵션으로 지정됨)의 경우 계수가 작으면 압축 속도가 빨라지지만 파일 크기가 커집니다. 최대 압축은 100 값을 사용하여 실행됩니다.

-z int

지정된 수준이 0인 lossless 압축 모드를 사용 설정합니다. 레벨 0이 가장 빠르며 9가 가장 느립니다. 빠른 모드는 느린 모드보다 파일 크기가 큽니다. 적절한 기본값은 -z 6입니다. 이 옵션은 실제로 품질 및 방법에 관한 사전 정의된 일부 설정의 바로가기입니다. 이후에 -q 또는 -m 옵션을 사용하면 이 옵션의 효과를 무효화합니다.

-alpha_q int

0에서 알파 압축의 압축 계수를 지정하세요. 100입니다. 알파의 무손실 압축은 100 값을 사용하여 실행됩니다. 값이 작을수록 손실 압축이 발생합니다. 기본값은 100입니다.

-preset string

사전 정의된 매개변수를 사용하여 특정 유형의 데이터에 맞게 소스 자료를 참조하세요. 가능한 값은 default, photo, picture, drawing, icon, text입니다.

-preset는 다른 매개변수를 덮어씁니다. 값 (-q 이 옵션은 가장 먼저 표시되는 순서대로 표시되는 것이 좋습니다 인수입니다.

-m int

사용할 압축 방법을 지정합니다. 이 매개변수는 압축 파일 크기 및 품질 간에 차이가 나는 것을 볼 수 있습니다. 가능한 값 범위는 0~6입니다. 기본값은 4입니다. 높은 경우 인코더가 추가 값을 검사하는 데 더 많은 시간을 품질 이득을 결정합니다. 더 낮은 값은 이로 인해 파일 크기가 커지는 대신 처리 시간이 단축되고 압축 품질이 떨어집니다

-crop x_position y_position width height

좌표에서 왼쪽 상단 모서리가 있는 직사각형으로 소스를 자릅니다. (x_position, y_position) 및 크기 width x height 이 자르기 영역은 소스 직사각형 내에 완전히 포함되어야 합니다. 참고: 자르기는 크기 조정 전에 적용됩니다.

-resize width height

소스의 크기를 width x height의 직사각형으로 조정합니다. 다음 중 하나에 해당하는 경우 너비 또는 높이 매개변수의 값이 0인 경우 값은 계산됩니다. 참고: 크기 조정은 이후에 적용됩니다. 자르기

-mt

가능하면 인코딩에 멀티스레딩을 사용합니다.

-low_memory

일반적으로 압축된 크기의 4배를 저장하여 손실이 있는 인코딩의 메모리 사용량을 줄입니다. 이렇게 하면 인코딩이 느려지고 출력은 크기 및 왜곡이 약간 다릅니다. 이 플래그는 메서드 3 이상이며 기본적으로 사용 중지되어 있습니다. 이 플래그를 사용하지 않으면 비트스트림에 몇 가지 부작용이 있습니다. 파티션 수와 같은 특정 비트스트림 기능이 강제됩니다(1로 강제됨). 이 옵션을 사용하면 cwebp에 의해 비트스트림 크기에 관한 더 자세한 보고서가 출력됩니다.

손실(lossy) 옵션

이 옵션은 손실이 있는 인코딩(기본값, 알파 유무와 관계없음)을 실행할 때만 효과가 있습니다.

-size int
압축된 출력에 도달하려는 타겟 크기(바이트)를 지정합니다. 압축기는 이 타겟에 최대한 근접하기 위해 부분 인코딩을 여러 번 반복합니다. -size-psnr가 모두 사용되면 -size 값이 우선 적용됩니다.
-psnr float
압축된 출력에 도달하려는 타겟 PSNR(dB)을 지정합니다. 압축기는 이 타겟에 최대한 근접하기 위해 부분 인코딩을 여러 번 반복합니다. -size-psnr를 모두 사용하는 경우 -size 값이 우선 적용됩니다.
-pass int
옵션에서 사용하는 이분법 중에 사용할 최대 패스 수 설정 -size 또는 -psnr입니다. 최대값은 10이고 기본값은 1입니다. 옵션 -size 또는 -psnr가 사용되었지만 -pass가 지정되지 않은 경우 기본값인 '6' 패스가 사용됩니다. -pass을 지정하지만 -size-psnr이면 40dB의 타겟 PSNR이 사용됩니다.
-af
자동 필터를 사용 설정합니다. 이 알고리즘은 최적화에 추가 시간을 할애합니다. 균형 잡힌 품질을 달성할 수 있도록 필터링 강도를 조정해야 합니다.
-jpeg_like
예상되는 크기와 더 잘 일치하도록 내부 매개변수 매핑을 JPEG 압축입니다. 이 플래그는 일반적으로 동일한 -q 설정의 JPEG와 비슷한 크기의 출력 파일을 생성하지만 시각적 왜곡은 줄어듭니다.

고급 옵션:

-f int
디블로킹 필터의 강도를 0 (필터링 없음) 중에서 지정합니다. 및 100 (최대 필터링) 값이 0이면 필터링이 사용 중지됩니다. 값이 클수록 사진을 디코딩한 후 적용되는 필터링 프로세스의 강도가 증가합니다. 값이 클수록 사진이 더 부드럽게 표시됩니다. 일반적인 값은 일반적으로 20에서 50 사이입니다.
-sharpness int
필터링의 선명도를 지정합니다(사용되는 경우). 범위는 0 (가장 선명)입니다. 7 (가장 덜 선명하게)로 변경합니다. 기본값은 0입니다.
-strong
강력한 필터링 사용 (-f 옵션). 강력한 필터링은 기본적으로 사용 설정되어 있습니다.
-nostrong
강력한 필터링 사용 중지 (-f 옵션) 간단한 필터링을 대신 사용하세요.
-sharp_yuv
더욱 정확하고 선명한 RGB->YUV 변환을 사용합니다. 이 프로세스는 기본 '빠른' RGB->YUV 변환보다 느립니다.
-sns int
공간 노이즈 셰이핑의 진폭을 지정합니다. 공간 노이즈 셰이핑(줄여서 sns)은 사진의 어느 영역에서 상대적으로 적은 비트를 사용해야 하고 이러한 비트를 더 효과적으로 전송할 수 있는 위치를 결정하는 데 사용되는 기본 제공 알고리즘의 일반적인 모음을 말합니다. 가능한 범위는 0(알고리즘이 사용 중지됨)에서 100(최대 효과)까지입니다. 기본값은 50입니다.
-segments int
sns 알고리즘의 세분화 중에 사용할 파티션 수를 변경합니다. 세그먼트는 1에서 4 사이의 범위 내에 있어야 합니다. 기본값은 4입니다. -low_memory를 사용하지 않는 한 이 옵션은 메서드 3 이상에 영향을 미치지 않습니다.
-partition_limit int
일부 마이크로블록에서 사용되는 비트 수를 제한하여 품질을 저하합니다. 범위는 0(저하 없음, 기본값)~100(전체 저하)입니다. 보통 큰 이미지의 경우 유용한 값은 30~70입니다. 포함 VP8 형식인 경우, 소위 제어 파티션은 512k로 제한되며 매크로블록이 유효한지 여부를 저장하는 데 사용되는 인트라 4x4 또는 인트라 4x4 또는 intra, 16x16 모드, 그리고 마지막으로 각 레이어에 사용할 예측 모드를 하위 블록을 설정할 수 있습니다. 매우 큰 이미지의 경우 512k는 16x16 매크로 블록당 몇 비트만 남깁니다. 절대 최솟값은 마이크로블록당 4비트입니다. 건너뛰기, 세그먼트, 모드 정보는 이러한 4비트를 거의 모두 사용할 수 있으며(가능성은 낮음) 이는 매우 큰 이미지에 문제가 됩니다. partition_limit 계수는 비트 비용이 가장 많이 드는 모드(4x4 내부)가 사용되는 빈도를 제어합니다. 이는 512k 한도에 도달한 경우에 유용합니다. 오류 코드: 6 메시지가 표시됩니다. (PARTITION0_OVERFLOW: 파티션 #0이 너무 커서 512k에 맞지 않음) 사용하는 경우 -partition_limit는 512k 제약조건을 충족하기에 충분하지 않습니다. 매크로블록당 더 많은 헤더 비트를 저장하기 위해 더 적은 세그먼트를 사용합니다. 자세한 내용은 -segments 옵션 -m-q 옵션은 인코더의 결정과 이 한도를 달성하는 기능에도 영향을 미칩니다.

로깅 옵션

다음 옵션은 출력 수준을 제어합니다.

-v
추가 정보(특히 인코딩 시간)를 출력합니다.
-print_psnr
평균 PSNR (피크 신호 대 노이즈 비율)을 계산하고 보고합니다.
-print_ssim
평균 SSIM (구조적 유사성 측정항목, https://en.wikipedia.org/wiki/SSIM에서 확인하세요).
-print_lsim
로컬 유사성 측정항목(함께 배치된 픽셀 이웃 간의 최소 오류의 합계)을 계산하고 보고합니다.
-progress
인코딩 진행률을 백분율로 보고합니다.
-quiet
아무것도 출력하지 않습니다.
-short
테스트를 위해 간략한 정보 (출력 파일 크기 및 PSNR)만 인쇄 제공합니다.
-map int
인코딩 정보의 추가 ASCII 맵을 출력합니다. 가능한 맵 값의 범위는 1~6입니다. 이는 디버깅을 돕기 위한 목적으로만 사용됩니다.

추가 옵션

고급 옵션은 다음과 같습니다.

-s width height
입력 파일이 실제로 원시 Y'CbCr 샘플로 구성되도록 지정 ITU-R BT.601 권장사항에 따라 4:2:0 선형 형식으로 전송합니다. 이 루마 평면의 크기는 widthxheight입니다.
-pre int
일부 사전 처리 단계를 지정합니다. 2 값을 사용하면 트리거됩니다. RGBA에서 YUVA로 변환하는 동안 품질에 종속된 의사 랜덤 디더링 (손실이 있는 압축만 해당).
-alpha_filter string
알파 평면의 예측 필터링 메서드를 지정합니다. 복잡도와 느림의 순서에 따라 none, fast, best 중 하나입니다. 기본값은 fast입니다. 내부적으로 알파 필터링은 가능한 네 가지 예측(없음, 가로, 세로, 그라데이션)을 사용하여 실행됩니다. best 모드는 각 모드를 차례대로 시도하여 상대적으로 적은 수의 있습니다. fast 모드는 입력 없이 사전 확률 추측을 시도합니다. 모든 모드를 테스트합니다.
-alpha_method int
알파 압축에 사용되는 알고리즘(0 또는 1)을 지정합니다. 알고리즘 0는 압축하지 않음을 나타내고 1는 압축을 위해 WebP 무손실 형식을 사용합니다. 기본값은 1입니다.
-exact
투명 영역에 RGB 값을 보존합니다. 기본값은 '사용 안함'으로 압축성을 제공합니다.
-blend_alpha int
이 옵션은 알파 채널 (있는 경우)을 16진수로 0xrrggbb로 지정된 배경 색상입니다. 알파 채널은 이후 불투명 값 255으로 재설정됩니다.
-noalpha
이 옵션을 사용하면 알파 채널이 삭제됩니다.
-hint string
입력 이미지 유형에 관한 힌트를 지정합니다. 가능한 값은 photo입니다. picture 또는 graph입니다.
-metadata string

입력에서 출력으로 복사할 메타데이터의 쉼표로 구분된 목록입니다(있는 경우). 유효한 값: all, none, exif, icc, xmp. 기본값은 none입니다.

각 입력 형식은 일부 조합을 지원하지 않을 수 있습니다.

-noasm

모든 어셈블리 최적화를 사용 중지합니다.

버그

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

저자

cwebplibwebp의 일부이며 WebP팀에서 작성했습니다. 최신 소스 트리는 다음 위치에서 확인할 수 있습니다. https://chromium.googlesource.com/webm/libwebp/

이 매뉴얼 페이지는 Debian 프로젝트용으로 작성되었으며 있습니다.