1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/osgochina-image2webp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-cn.md 5.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 06:49 74ba408

Введение

Проект Image2webp представляет собой приложение, написанное на языке программирования Golang, которое позволяет в режиме реального времени преобразовывать различные форматы изображений в формат Webp. В настоящее время поддерживаются следующие форматы: JPG, JPEG, PNG, BMP и GIF.

Формат Webp позволяет значительно уменьшить размер изображения без потери качества, что ускоряет процесс передачи данных по сети и экономит пропускную способность канала.

Кроме того, проект Image2webp поддерживает функцию создания эскизов в формате Webp, которая также работает в реальном времени. Эта функция может быть легко интегрирована в существующий сервер без необходимости изменения логики работы.

Лучшие практики

Для оптимальной реализации проекта Image2webp рекомендуется запустить сервис на сервере изображений и настроить переадресацию через nginx или другой веб-сервер. Для этого достаточно сопоставить URL-адрес с шаблоном ^(.+)_webp(_(\d+)_(\d+)(.*))?$, чтобы перенаправить запрос на программу image2webp, которая выведет изображение в формате Webp.

Однако при большом количестве запросов к изображениям этот метод преобразования в реальном времени может привести к недостаточной производительности процессора. В таких случаях можно включить кэширование и установить каталог для хранения файлов Webp. Также рекомендуется установить более длительный срок действия для CDN-изображений, чтобы обеспечить их эффективное использование.

Компиляция

Компиляция проекта очень проста. Необходимо убедиться, что ваша версия Go не ниже 1.16 и включена поддержка модулей. Затем выполните команду make, чтобы автоматически скомпилировать проект. Конечно, вы можете также выполнить полную команду компиляции вручную:

$ go build -v -o image2webp

После успешной компиляции вы можете запустить программу с помощью команды:

$ ./image2webp start --config=./config.json

Конфигурация

Конфигурация проекта представлена в файле config.json в формате JSON. Вот некоторые из параметров конфигурации:

  • addr — адрес и порт для прослушивания;
  • storagePath — путь к каталогу для хранения изображений;
  • quality — процент качества при преобразовании в формат Webp (по умолчанию 80%);
  • allowSizes — поддерживаемые размеры эскизов, например _50_50;
  • enableTmpFile — включение кэширования изображений;
  • tmpStoragePath — каталог для временного хранения кэшированных изображений.

Развёртывание

Развёртывание проекта Image2webp также очень просто. Достаточно скопировать скомпилированный двоичный файл на сервер и настроить прокси-сервер на стороне клиента. Подробные инструкции можно найти в файле nginx.conf.

После успешного развёртывания вы сможете получить доступ к исходным изображениям по адресу http://image.example.com/images/timg.jpeg, а к изображениям в формате Webp — по адресу http://image.example.com/images/timg.jpeg_webp. Эскизы в формате Webp будут доступны по адресу http://image.example.com/images/timg.jpeg_webp_100_100.

Благодарности

  • Проект основан на фреймворке DMicro.
  • Проект использует фреймворк Go Frame.
  • В качестве источника вдохновения использовался проект webp_server_go.
  • Автор выражает благодарность проектам, предоставляющим библиотеки для преобразования изображений, которые были использованы в данном проекте.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/osgochina-image2webp.git
git@api.gitlife.ru:oschina-mirror/osgochina-image2webp.git
oschina-mirror
osgochina-image2webp
osgochina-image2webp
master