Перейти к содержимому
pdftools.kz
Редакторы

Формат WebP

WebP — это контейнер RIFF, внутри которого лежит один из двух разных кодеков: VP8 сжимает с потерями, как видеокадр, а VP8L — без потерь, отдельным алгоритмом с предсказанием и локальными палитрами. Прозрачность работает в обоих режимах, анимация тоже поддерживается. Сторона картинки не может превышать 16 383 пикселя. В PDF-документе места для WebP нет: там просто не существует фильтра, который умел бы его читать.

Локально в браузередо 100 МБбез регистрации

Коротко о цифрах

Контейнер
RIFF; кодеки VP8 (с потерями) и VP8L (без потерь)
Прозрачность
поддерживается в обоих режимах, отдельным чанком ALPH
Предел размера
16 383 пикселя по каждой стороне
Фильтр в PDF
отсутствует — файл приходится перекодировать в PNG
У нас на выходе
компрессор изображений пишет WebP и JPEG, больше ничего

Два режима под одним расширением

Файлы с одинаковым расширением .webp внутри устроены по-разному. Режим с потерями заимствован у видеокодека VP8: кадр делится на макроблоки, каждый предсказывается по соседям, а разница кодируется грубее — примерно так же, как это делает JPEG, только с более умным предсказанием и без жёсткой сетки 8×8. На фотографии это даёт заметно меньший вес при том же визуальном качестве.

Режим без потерь — совсем другой алгоритм: он подбирает для участков картинки локальные цветовые палитры, предсказывает пиксель по нескольким соседям сразу и дожимает результат энтропийным кодированием. Для скриншотов и графики он обычно обходит PNG. Понять, какой режим внутри вашего файла, по расширению нельзя — только по содержимому.

Что происходит при вставке в PDF

  • В спецификации PDF нет фильтра для VP8 и VP8L, поэтому положить файл в документ потоком, как JPEG или PNG, невозможно.
  • Наш конвертер поступает единственным доступным способом: браузер декодирует WebP, картинка рисуется на канвасе и кодируется в PNG с качеством 1.0.
  • Для WebP без потерь это честный размен — пиксели те же, просто упаковка другая.
  • Для WebP с потерями это рост: фотография в 300 КБ, ставшая PNG, легко превращается в несколько мегабайт, потому что PNG обязан записать в том числе и артефакты сжатия.
  • Хотите компактный PDF из WebP-фотографий — сначала пересохраните их в JPEG нашим компрессором изображений, а уже потом собирайте документ.

Где WebP поддержан у нас

  • Сжатие изображений принимает WebP на вход и умеет отдавать WebP на выходе — это один из двух форматов, в которые компрессор вообще пишет.
  • Обрезка изображений тоже принимает WebP: рамка выделения строится по развёрнутой копии картинки, а не по сырым пикселям файла.
  • Сборка PDF принимает WebP, но кладёт его в документ уже как PNG — см. предыдущий раздел.
  • Если браузер не умеет кодировать WebP на канвасе, инструмент не отдаёт молча PNG под чужим расширением, а отказывается: canvas.toBlob при неизвестном типе подсовывает PNG, и мы сверяем полученный MIME-тип с запрошенным.

Частые вопросы

Почему PDF из WebP-снимков получился в разы тяжелее исходных файлов?

Потому что в документ ушёл не WebP, а PNG без потерь: фильтра для WebP в PDF не существует. Пересохраните снимки в JPEG перед сборкой, и вес вернётся к ожидаемому.

Чем открыть файл .webp на компьютере?

Любым современным браузером: перетащите файл в окно. Windows и macOS показывают WebP штатно уже несколько лет. Для редактирования проще пересохранить картинку в JPEG или PNG.

WebP правда легче JPEG?

На фотографиях при равном визуальном качестве обычно да, примерно на четверть. Но выигрыш зависит от снимка: на мелкой контрастной графике разница почти исчезает, а иногда JPEG оказывается компактнее.

Сохранится ли прозрачность, если сжать WebP в JPEG?

Нет. JPEG не хранит альфа-канал, поэтому перед кодированием под картинку подкладывается белый фон. Хотите сохранить прозрачность — выбирайте на выходе WebP, а не JPEG.

Рядом

Частые задачи с этим инструментом