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
버전 번호 (주.minor.revision)를 출력하고 종료합니다.
-lossless
손실 없이 이미지를 인코딩합니다. 완전히 투명한 영역이 있는 이미지의 경우 -exact 옵션을 사용하는 경우에만 보이지 않는 픽셀 값 (R/G/B 또는 Y/U/V)이 유지됩니다.
-near_lossless int
무손실 이미지 사전 처리 수준을 지정합니다. 이 옵션은 압축성을 위해 픽셀 값을 조정하지만 시각적 품질에 미치는 영향은 거의 없습니다. 무손실 압축 모드가 자동으로 트리거됩니다. 범위는 0 (최대 사전 처리)에서 100 (사전 처리 없음, 기본값)까지입니다. 일반적인 값은 약 60입니다. -q 100를 사용하여 손실이 발생하는 경우 더 나은 결과를 얻을 수도 있습니다.
-q float

0~100 사이의 RGB 채널에 대한 압축 계수를 지정합니다. 기본값은 75입니다.

손실 압축 (기본값)의 경우 작은 요소를 사용하면 품질이 낮은 작은 파일이 생성됩니다. 100의 값을 사용하여 최상의 품질을 얻을 수 있습니다.

무손실 압축 (-lossless 옵션에서 지정)의 경우 작은 계수를 사용하면 더 빠른 압축 속도를 사용할 수 있지만 더 큰 파일이 생성됩니다. 최대 압축은 100 값을 사용하여 이루어집니다.

-z int

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

-alpha_q int

0100 사이의 알파 압축 압축 계수를 지정합니다. 알파의 무손실 압축은 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

소스 크기를 widthxheight 크기의 직사각형으로 조절합니다. 너비 또는 높이 매개변수의 (둘 다 아님)이 0이면 가로세로 비율을 유지하면서 값이 계산됩니다. 참고: 크기 조정은 자르기 후 적용됩니다.

-mt

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

-low_memory

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

손실 옵션

이러한 옵션은 손실 인코딩을 수행할 때만 유효합니다 (기본값, 알파 유무와 관계없음).

-size int
압축 출력에 시도할 타겟 크기 (바이트)를 지정합니다. 압축 프로그램은 이 타겟에 최대한 가까워지기 위해 부분 인코딩을 여러 번 전달합니다. -size-psnr을 모두 사용하면 -size 값이 우선적으로 적용됩니다.
-psnr float
타겟 PSNR (dB)을 지정하여 압축된 출력을 시도해 보세요. 압축 프로그램은 이 타겟에 최대한 가까워지기 위해 부분 인코딩을 여러 번 전달합니다. -size-psnr을 모두 사용하면 -size 값이 우선합니다.
-pass int
옵션 -size 또는 -psnr에서 사용하는 분할 중에 사용할 최대 패스 수를 설정합니다. 최댓값은 10, 기본값은 1입니다. -size 또는 -psnr 옵션이 사용되었지만 -pass이 지정되지 않은 경우 기본값이 사용된 패스가 사용됩니다.
-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 또는 16x16 모드 내로 코딩되었는지, 마지막으로 각 하위 블록에 사용할 예측 모드를 저장하는 데 사용됩니다. 매우 큰 이미지의 경우 512k는 16x16 매크로블록당 몇 비트에 불과합니다. 최소 블록 크기는 매크로블록당 4비트입니다. 건너뛰기, 세그먼트, 모드 정보는 이러한 4비트를 거의 모두 사용할 수 있으므로 (가능하지는 않지만) 매우 큰 이미지에는 문제가 됩니다. partition_limit 요소는 비트 비용이 가장 많이 사용되는 모드(4x4)의 사용 빈도를 제어합니다. 이는 512k 한도에 도달하여 다음 메시지가 표시되는 경우에 유용합니다. 오류 코드: 6 (Partition0_OVERFLOW: Partition #0 is too big to fit 512k). -partition_limit을 사용하기에 512k 제약 조건을 충족하지 않는 경우 매크로 블록당 헤더 비트를 더 절약하려면 세그먼트를 더 적게 사용해야 합니다. -segments 옵션을 참고하세요.

로깅 옵션

다음 옵션을 사용하여 출력 수준을 제어할 수 있습니다.

-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
입력 파일이 ITU-R BT.601 추천에 따라 원시 Y&CbCr 샘플로 구성되도록 4:2:0 선형 형식으로 지정합니다. 루마 면의 크기는 width x height입니다.
-pre int
사전 처리 단계 몇 가지를 지정합니다. 2 값을 사용하면 RGBA-YUVA 변환 중에 품질 종속 의사 랜덤 디더링이 트리거됩니다(손실 압축만).
-alpha_filter string
알파 영역의 예측 필터링 방법을 지정합니다. 복잡도와 속도가 느려지는 none, fast, best 중 하나. 기본값은 fast입니다. 내부적으로 알파 필터링은 4가지 예측 (없음, 수평, 수직, 그라데이션)을 사용하여 실행됩니다. best 모드는 각 모드를 차례로 시도하고 더 작은 크기를 제공하는 모드를 선택합니다. fast 모드는 모든 모드를 테스트하지 않고 사전 추측을 시도합니다.
-alpha_method int
알파 압축에 사용되는 알고리즘(0 또는 1)을 지정합니다. 알고리즘 0은 압축되지 않음을 나타냅니다. 1은 압축에 WebP 무손실 형식을 사용합니다. 기본값은 1입니다.
-exact
투명 영역에 RGB 값을 유지합니다. 압축에 도움이 되도록 기본값이 사용 중지되어 있습니다.
-blend_alpha int
이 옵션은 알파 채널 (있는 경우)을 0xrrggbb로 16진수로 지정된 배경 색상을 사용하여 소스와 혼합합니다. 이후에 알파 채널은 불투명 값 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 프로젝트용으로 작성되었으며 다른 사람이 사용할 수 있습니다.