Tên
cwebp
– Nén tệp hình ảnh thành tệp WebP
Tóm tắt phim
cwebp [options] input_file -o output_file.webp
Mô tả
cwebp
nén hình ảnh bằng định dạng WebP. Định dạng mục nhập có thể là
Mẫu PNG, JPEG, TIFF, WebP hoặc mẫu Y'CbCr thô.
Lưu ý: Các tệp PNG động và WebP không được hỗ trợ.
Tùy chọn
Các tuỳ chọn cơ bản là:
-o string
- Chỉ định tên của tệp WebP đầu ra. Nếu bạn bỏ qua,
cwebp
sẽ thực hiện nén mà chỉ báo cáo số liệu thống kê. Sử dụng "-" làm tên đầu ra sẽ chuyển đầu ra tới "stdout". -- string
- Chỉ định rõ tệp đầu vào. Tuỳ chọn này rất hữu ích nếu dữ liệu đầu vào
tệp bắt đầu bằng '-' chẳng hạn. Lựa chọn này phải xuất hiện
last
. Sau đó, mọi tuỳ chọn khác sẽ bị bỏ qua. -h, -help
- Tóm tắt về hoạt động sử dụng.
-H, -longhelp
- Bản tóm tắt tất cả phương án có thể áp dụng.
-version
- In số phiên bản (dưới dạng main.minor.revision) rồi thoát.
-lossless
- Mã hoá hình ảnh mà không bị mất dữ liệu. Đối với hình ảnh có vùng hoàn toàn trong suốt,
các giá trị pixel vô hình (R/G/B hoặc Y/U/V) sẽ chỉ được bảo toàn nếu
Tuỳ chọn
-exact
được sử dụng. -near_lossless int
- Chỉ định mức độ xử lý trước hình ảnh gần như không bị suy hao. Tùy chọn này điều chỉnh
để tăng khả năng nén, nhưng ảnh hưởng rất ít đến hình ảnh
chất lượng. Phương thức này tự động kích hoạt chế độ nén không tổn hao.
Phạm vi từ
0
(xử lý trước tối đa) đến100
(không xử lý trước, mặc định). Giá trị thông thường là vào khoảng60
. Lưu ý rằng có tổn hao với-q 100
đôi khi có thể mang lại kết quả tốt hơn. -q float
Chỉ định hệ số nén cho các kênh RGB trong khoảng từ
0
đến100
. Chiến lược phát hành đĩa đơn mặc định là75
.Trong trường hợp nén có tổn hao (mặc định), một yếu tố nhỏ sẽ tạo ra có chất lượng thấp hơn. Chất lượng tốt nhất đạt được bằng cách sử dụng giá trị của
100
.Trong trường hợp nén không tổn hao (được chỉ định theo tuỳ chọn
-lossless
), yếu tố nhỏ cho phép tốc độ nén nhanh hơn nhưng tạo ra tệp lớn hơn. Độ nén tối đa đạt được bằng cách sử dụng giá trị100
.-z int
Bật chế độ nén
lossless
với mức được chỉ định trong khoảng từ 0 và 9, với cấp 0 là nhanh nhất, 9 là chậm nhất. Chế độ nhanh tạo ra kích thước tệp lớn hơn các tệp chậm hơn. Giá trị mặc định phù hợp là-z 6
. Tuỳ chọn này thực ra là lối tắt cho một số chế độ cài đặt chất lượng định sẵn và phương thức. Nếu sau đó bạn sử dụng các tuỳ chọn-q
hoặc-m
, chúng sẽ làm mất hiệu lực tác động của tuỳ chọn này.-alpha_q int
Chỉ định hệ số nén để nén alpha từ
0
đến100
Nén alpha không tổn hao bằng cách sử dụng giá trị100
, còn giá trị thấp hơn sẽ dẫn đến nén có tổn hao. Mặc định là100
.-preset string
Chỉ định một tập hợp các tham số được xác định trước để phù hợp với một loại tài liệu nguồn. Các giá trị có thể là:
default
,photo
,picture
,drawing
,icon
,text
.Vì
-preset
ghi đè các tham số khác các giá trị (ngoại trừ-q
một), tuỳ chọn này nên xuất hiện đầu tiên theo thứ tự của đối số.-m int
Chỉ định phương thức nén sẽ sử dụng. Thông số này kiểm soát giao dịch thương mại giữa tốc độ mã hoá và kích thước cũng như chất lượng của tệp nén. Các giá trị có thể nằm trong khoảng từ
0
đến6
. Giá trị mặc định là4
. Khi ở mức cao hơn có sử dụng các giá trị khác nhau, thì bộ mã hoá sẽ mất nhiều thời gian hơn để kiểm tra các khả năng mã hoá và quyết định mức tăng chất lượng. Giá trị thấp hơn có thể dẫn đến thời gian xử lý nhanh hơn nhưng đổi lại kích thước tệp lớn hơn và chất lượng nén thấp hơn.-crop x_position y_position width height
Cắt nguồn thành một hình chữ nhật có góc trên cùng bên trái tại toạ độ (
x_position
,y_position
) và kích thướcwidth
xheight
. Kiểu cắt này phải được chứa hoàn toàn trong hình chữ nhật nguồn. Lưu ý: việc cắt được áp dụng trước khi bất kỳ tỷ lệ nào.-resize width height
Đổi kích thước nguồn thành hình chữ nhật có kích thước
width
xheight
. Nếu (nhưng không phải cả hai) của tham số chiều rộng hoặc chiều cao là0
, giá trị sẽ là đã tính toán giúp duy trì tỷ lệ khung hình. Lưu ý: việc điều chỉnh tỷ lệ được áp dụng sau cắt.-mt
Sử dụng phương thức đa luồng để mã hoá (nếu có thể).
-low_memory
Giảm mức sử dụng bộ nhớ của phương thức mã hoá có tổn hao bằng cách tiết kiệm gấp bốn lần dung lượng bộ nhớ được nén kích thước (thông thường). Việc này sẽ làm cho quá trình mã hoá chậm hơn và kết quả hơi khác nhau về kích thước và độ méo hình. Cờ này chỉ có hiệu lực cho phương thức 3 trở lên và bị tắt theo mặc định. Lưu ý rằng hãy tắt cờ này sẽ có một số tác dụng phụ đối với luồng bit: nó buộc các bit nhất định các tính năng như số lượng phân vùng (được buộc thành
1
). Xin lưu ý rằng, báo cáo chi tiết về kích thước luồng bit đượccwebp
in khi sử dụng .
Tùy chọn tổn hao
Các tuỳ chọn này chỉ có hiệu quả khi mã hoá có tổn hao (mặc định, với hoặc không có alpha).
-size int
- Chỉ định kích thước mục tiêu (tính bằng byte) để thử và tiếp cận cho tệp nén
đầu ra. Bộ nén sẽ thực hiện một số lần mã hoá một phần trong
để tiến gần mục tiêu này nhất có thể. Nếu cả
-size
và Bạn đang sử dụng-psnr
, giá trị-size
sẽ được ưu tiên áp dụng. -psnr float
- Chọn PSNR mục tiêu (tính bằng dB) để thử và tiếp cận cho đầu ra nén.
Bộ nén sẽ thực hiện một số lượt mã hoá một phần để có
càng gần mục tiêu này càng tốt. Nếu bạn dùng cả
-size
và-psnr
, Giá trị-size
sẽ được ưu tiên áp dụng. -pass int
- Đặt số lượng thẻ và vé tối đa để sử dụng trong quá trình phân tách mà các lựa chọn sử dụng
-size
hoặc-psnr
. Giá trị tối đa là10
, giá trị mặc định là1
. Nếu tùy chọn-size
hoặc-psnr
đã được sử dụng, nhưng-pass
chưa được chỉ định, làm giá trị mặc định trong số '6' thẻ và vé sẽ được sử dụng. Nếu bạn chỉ định-pass
, nhưng không phải-size
và-psnr
thì sẽ sử dụng PSNR mục tiêu là 40 dB. -af
- Bật bộ lọc tự động. Thuật toán này sẽ dành thêm thời gian để tối ưu hoá cường độ lọc để đạt được chất lượng cân bằng.
-jpeg_like
- Thay đổi ánh xạ tham số nội bộ để phù hợp hơn với kích thước dự kiến của
Nén JPEG. Cờ này thường sẽ tạo ra một tệp đầu ra
kích thước tương tự như ảnh JPEG tương đương (cho cùng chế độ cài đặt
-q
), nhưng có giảm hiện tượng méo hình.
Tùy chọn nâng cao:
-f int
- Chỉ định độ mạnh của bộ lọc huỷ chặn, trong khoảng từ
0
(không lọc) và100
(lọc tối đa). Giá trị0
sẽ tắt mọi bộ lọc. Giá trị cao hơn sẽ làm tăng cường độ của quy trình lọc được áp dụng sau khi giải mã hình ảnh. Giá trị càng cao thì ảnh càng mượt sẽ xuất hiện. Các giá trị điển hình thường nằm trong khoảng từ20
đến50
. -sharpness int
- Chọn độ sắc nét của bộ lọc (nếu sử dụng). Phạm vi là
0
(sắc nét nhất) thành7
(ít sắc nét nhất). Mặc định là0
. -strong
- Sử dụng chế độ lọc mạnh (nếu bạn đang dùng tính năng lọc nhờ có
-f
). Chế độ lọc mạnh được bật theo mặc định. -nostrong
- Tắt chế độ lọc mạnh (nếu chế độ lọc đang được sử dụng nhờ
-f
) và thay vào đó hãy sử dụng cách lọc đơn giản. -sharp_yuv
- Sử dụng công cụ chuyển đổi RGB->YUV chính xác và sắc nét hơn nếu cần. Lưu ý rằng quá trình chậm hơn so với mặc định "nhanh" Chuyển đổi RGB->YUV.
-sns int
- Chỉ định biên độ của định hình tiếng ồn không gian. Định hình nhiễu không gian
(hay viết tắt là sns) là một tập hợp chung các thuật toán tích hợp sẵn
được dùng để quyết định vùng nào của ảnh nên sử dụng tương đối ít bit hơn,
và nơi khác để chuyển những bit này hiệu quả hơn. Phạm vi có thể có giá trị từ
0
(thuật toán tắt) đến100
(hiệu ứng tối đa). Giá trị mặc định là50
. -segments int
- Thay đổi số lượng phân vùng để sử dụng trong quá trình phân đoạn sns
thuật toán. Phân đoạn phải nằm trong dải ô từ
1
đến4
. Giá trị mặc định là4
. Tuỳ chọn này không có hiệu lực đối với các phương thức từ 3 trở lên, trừ phi-low_memory
là sử dụng. -partition_limit int
- Giảm chất lượng bằng cách giới hạn số lượng bit mà một số khối macro sử dụng.
Phạm vi là
0
(không suy giảm, mặc định) đến100
(xuống cấp hoàn toàn). Giá trị hữu ích thường nằm trong khoảng30
–70
đối với những hình ảnh có kích thước vừa phải. Ngang bằng còn được gọi là phân vùng điều khiển, được gọi là phân vùng điều khiển có giới hạn là 512k và được dùng để lưu trữ các thông tin sau: liệu khối macro bị bỏ qua, nó thuộc về phân đoạn nào, cho dù nó được mã hoá là intra 4x4 hay trong chế độ 16x16 và cuối cùng là các chế độ dự đoán để sử dụng cho mỗi chế độ các khối phụ. Đối với hình ảnh rất lớn, 512k chỉ chừa ra chỗ trống cho một vài bit mỗi Khối macro 16x16. Tối thiểu tuyệt đối là 4 bit cho mỗi khối macro. Bỏ qua, thông tin phân đoạn và chế độ có thể sử dụng gần như toàn bộ 4 bit này (mặc dù trường hợp hiếm gặp). Đây là vấn đề đối với các hình ảnh rất lớn. Chiến lược phát hành đĩa đơn Yếu tốpartition_limit
kiểm soát tần suất của chế độ chi phí bit cao nhất (intra 4x4) sẽ được sử dụng. Điều này hữu ích trong trường hợp đã đạt đến giới hạn 512k và thông báo sau sẽ xuất hiện: Mã lỗi: 6 (PARTITION0_OVERFLOW: Phân vùng #0 quá lớn để vừa với 512k). Nếu sử dụng-partition_limit
là không đủ để đáp ứng giới hạn 512k, bạn nên sử dụng ít phân đoạn hơn để tiết kiệm nhiều bit tiêu đề hơn cho mỗi khối macro. Xem tuỳ chọn-segments
. Xin lưu ý rằng các tuỳ chọn-m
và-q
cũng ảnh hưởng đến quyết định và khả năng của bộ mã hoá đạt đến giới hạn này.
Tuỳ chọn ghi nhật ký
Các tuỳ chọn sau đây kiểm soát mức đầu ra:
-v
- In thêm thông tin (cụ thể là thời gian mã hoá).
-print_psnr
- Tính toán và báo cáo PSNR trung bình (Tỷ lệ cao nhất-tín hiệu-nhiễu âm).
-print_ssim
- Tính toán và báo cáo SSIM trung bình (chỉ số tương đồng về cấu trúc, xem https://en.wikipedia.org/wiki/SSIM để biết thêm thông tin chi tiết).
-print_lsim
- Tính toán và báo cáo chỉ số độ tương đồng cục bộ (tổng sai số thấp nhất trong số các pixel được sắp xếp xung quanh).
-progress
- Báo cáo tiến trình mã hoá theo tỷ lệ phần trăm.
-quiet
- Không in bất kỳ nội dung nào.
-short
- Chỉ in thông tin tóm tắt (kích thước tệp đầu ra và PSNR) để thử nghiệm .
-map int
- Xuất ra bản đồ ASCII bổ sung của thông tin mã hoá. Các giá trị bản đồ có thể có
dao động từ
1
đến6
. Thao tác này chỉ nhằm mục đích hỗ trợ gỡ lỗi.
Tùy chọn bổ sung
Các tuỳ chọn nâng cao khác là:
-s width height
- Chỉ định rằng tệp đầu vào thực sự bao gồm các mẫu Y'CbCr thô
theo khuyến nghị ITU-R BT.601, ở định dạng tuyến tính 4:2:0. Chiến lược phát hành đĩa đơn
mặt phẳng luma có kích thước
width
xheight
. -pre int
- Chỉ định một số bước xử lý trước. Việc sử dụng giá trị
2
sẽ kích hoạt phối màu giả ngẫu nhiên phụ thuộc vào chất lượng trong quá trình chuyển đổi RGBA->YUVA (chỉ nén mất dữ liệu). -alpha_filter string
- Chỉ định phương pháp lọc dự đoán cho mặt phẳng alpha. Một trong số
none
,fast
hoặcbest
, có thứ tự tăng dần độ phức tạp và chậm trễ. Mặc định làfast
. Trong nội bộ, quá trình lọc alpha được thực hiện bằng cách sử dụng 4 các dự đoán khả thi (không có, ngang, dọc, chuyển màu).best
sẽ thử lần lượt từng chế độ và chọn chế độ đem lại kích thước nhỏ hơn kích thước. Chế độfast
sẽ chỉ cố gắng đưa ra dự đoán trước tiên mà không đang thử nghiệm mọi chế độ. -alpha_method int
- Chỉ định thuật toán dùng để nén alpha:
0
hoặc1
. Thuật toán0
biểu thị là không nén,1
dùng định dạng WebP không tổn hao để nén. Giá trị mặc định là1
. -exact
- Duy trì các giá trị RGB trong vùng trong suốt. Tuỳ chọn mặc định là tắt, để trợ giúp độ nén.
-blend_alpha int
- Tùy chọn này kết hợp kênh alpha (nếu có) với nguồn sử dụng
màu nền được chỉ định bằng hệ thập lục phân là 0xrrggbb. Phiên bản alpha
sau đó được đặt lại thành giá trị mờ
255
. -noalpha
- Việc sử dụng tuỳ chọn này sẽ loại bỏ kênh alpha.
-hint string
- Chỉ định gợi ý về loại hình ảnh đầu vào. Các giá trị có thể sử dụng là:
photo
,picture
hoặcgraph
. -metadata string
Danh sách siêu dữ liệu được phân tách bằng dấu phẩy để sao chép từ dữ liệu đầu vào sang đầu ra nếu hiện tại. Các giá trị hợp lệ:
all
,none
,exif
,icc
,xmp
. Mặc định lànone
.Xin lưu ý rằng mỗi định dạng đầu vào có thể không hỗ trợ tất cả các cách kết hợp.
-noasm
Tắt tất cả tính năng tối ưu hoá cấu thành.
Lỗi
Vui lòng báo cáo tất cả lỗi cho công cụ theo dõi lỗi: https://issues.webmproject.org
Chào mừng bạn đến với bản vá! Xem trang này để bắt đầu: https://www.webmproject.org/code/contribute/submitting-patches/
Ví dụ
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
Tác giả
cwebp
là một phần của libwebp
và do nhóm WebP viết.
Cây nguồn mới nhất hiện có tại
https://chromium.googlesource.com/webm/libwebp/
Trang thủ công này được viết cho dự án Debian (và có thể được sử dụng bởi khác).