이름
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 채널의 압축 계수를
0
과100
사이에서 지정합니다. 기본값은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
xheight
이 자르기 영역은 소스 직사각형 내에 완전히 포함되어야 합니다. 참고: 자르기는 크기 조정 전에 적용됩니다.-resize width height
소스의 크기를
width
xheight
의 직사각형으로 조정합니다. 다음 중 하나에 해당하는 경우 너비 또는 높이 매개변수의 값이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 선형 형식으로 전송합니다. 이
루마 평면의 크기는
width
xheight
입니다. -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
모든 어셈블리 최적화를 사용 중지합니다.
버그
모든 버그는 Issue Tracker(https://issues.webmproject.org)에 신고하세요.
패치를 환영합니다. 시작하려면 다음 페이지를 참조하세요. https://www.webmproject.org/code/contribute/submitting-patches/
예
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
저자
cwebp
는 libwebp
의 일부이며 WebP팀에서 작성했습니다.
최신 소스 트리는 다음 위치에서 확인할 수 있습니다.
https://chromium.googlesource.com/webm/libwebp/
이 매뉴얼 페이지는 Debian 프로젝트용으로 작성되었으며 있습니다.