Ubuntu 上安装 MozJpeg 详解

2023-05-16

参考:How to Install MozJpeg on Ubuntu 18.04.3 – CodeFAQ

2023.04.26 花了很多时间,绕了很多弯路才成功安装 mozjpeg 图片压缩命令;特记录一下。

安装依赖:

apt install zlib1g-dev libpng-dev

安装编译器工具:

apt-get update
apt-get install cmake autoconf automake libtool nasm make pkg-config

 下载源代码:

git clone https://github.com/mozilla/mozjpeg.git

创建编译目录:

cd mozjpeg && mkdir build && cd build

编译:

# 使用cmake编译安装需要在源码目录下创建build文件夹,进入到build目录使用 cmake ../ 命令来编译, 其中 ../ 是用来指定 CMakeLists.txt 文件位置。

cmake -G"Unix Makefiles" ../

如果编译期间出现报错:

CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find PNG: Found unsuitable version "1.2.54", but required is at
  least "1.6" (found /usr/lib/x86_64-linux-gnu/libpng.so)

则执行:

apt install libpng16-dev

或者如果要启用PNG支持, 可运行:

cmake -G"Unix Makefiles" -DPNG_SUPPORTED=ON ../

 安装:

make install
sudo ln -s /opt/mozjpeg/bin/jpegtran /usr/bin/mozjpeg

至此已完安装完毕,可以使用 mozjpeg 命令了。

------------------------------------------------------------------------------------------------------------------------------

如果要创建安装包,这样其它机器就不用按上面的步骤编译源码:

make deb

 安装软件包:其他机器上需要的话就不用再编译了。

dpkg -i mozjpeg_4.0.0_amd64.deb

使用示例:

mozjpeg -quality 70 your_picture.jpg > your_picture_compress.jpg

mozjpegtran -optimize -progressive your_picture_compress.jpg > your_picture_compress.jpg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 上安装 MozJpeg 详解 的相关文章

随机推荐

  • ExecutorService 并发性能测试

    公共线程池 private ExecutorService executorService 61 Executors newFixedThreadPool 3 测试不使用线程池 xff0c 响应时间 public void test1 th
  • C++引用合并(引用的引用)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 引用合并总结 前言 最近做一个项目 xff0c 遇到了C 43 43 的引用合并 xff0c 到底是怎么回事呢 xff1
  • C++ 普通旧数据解读(POD)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 什么是普通旧数据 xff1f 二 使用步骤三 其他方法总结 前言 在开发C 43 43 的时候 xff0c 使用对象是绕
  • C++枚举解读(enum)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 枚举是什么 xff1f 二 使用步骤1 作用域2 隐式类型转换3 显式指定枚举值类型4 指定枚举值的值4 整形显式转换成
  • RK3399实际编码能力

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 RK3399简单介绍二 开始测试1 测试结果 总结 前言 最近在做一个项目 xff0c 需要用到RK3399的硬解码和硬
  • workbox学习笔记

    workbox学习笔记 一 PWA介绍 1 1 学习workbox之前先了解一下PWA xff08 如果了解请跳过 xff09 PWA xff08 全称 xff1a Progressive Web App xff09 也就是说这是个渐进式的
  • Python 学习笔记 (1)输出语句

    题主是大一学生 xff0c 刚刚开始学习python xff0c 但是题主有一定的c语言基础 xff0c 在这里以两者对比的形式做一些学习笔记 这里准备把输出语句单独拿出来写一篇文章 xff0c 因为笔者觉得python 的输出语句语法很繁
  • Error: L6218E: Undefined symbol XXXX (referred from main.o)

    学习keil5 问题记录 报错Error L6218E Undefined symbol XXXX referred from main o 是因为没有在User里添加需要的 c文件 在此处添加写好的文件 C 右击User点击Add Exu
  • Debian/Ubuntu 系统环境配置

    目录 一 Debian下使用Vi方向键变字母的解决办法二 Debian打开locales中文编码支持三 Debian 安装中文输入法四 Debian 超强vim配置文件简易安装方法 xff1a 自己手动安装 xff1a 其它VIM配置参考链
  • Ubuntu 20.04 安装配置 及 ZYNQMP开发环境搭建

    Ubuntu 20 04 安装配置 及 ZYNQMP开发环境搭建 一 磁盘文件选单个文件二 安装界面显示不全三 安装类型四 VMware tools安装失败五 更换软件源五 安装开发环境六 开机自动挂载硬盘七 Xilinx Vitis安装1
  • POSTGRESQL 插入数据时主键冲突异常

    异常 xff1a 表INSERT不了数据 postgres 61 insert into t rows name values 39 b 39 ERROR duplicate key value violates unique constr
  • C语言的变长参数 va_arg

    void simple va fun int i va list arg ptr char s 61 NULL va start arg ptr i s 61 va arg arg ptr char va end arg ptr print
  • 通俗讲解 同步、异步、阻塞、非阻塞 编程

    真正意义上的 异步IO 是说内核直接将数据拷贝至用户态的内存单元 xff0c 再通知程序直接去读取数据 select poll epoll 都是同步IO的多路复用模式 1 同步和异步 同步和异步关注的是消息通信机制 所谓同步 xff0c 就
  • Nginx 提示 504 Gateway Time-out(The gateway did not receive a timely response from the...)解决办法

    本文介绍nginx出现504 Gateway Time out问题的原因 xff0c 分析问题并提供解决方法 1 问题分析 nginx访问出现504 Gateway Time out xff0c 一般是由于程序执行时间过长导致响应超时 xf
  • MySQL8 设置远程访问授权

    开启 MySQL 的远程登陆帐号有三大步 xff1a 1 确定服务器上的防火墙没有阻止 3306 端口 MySQL 默认的端口是 3306 xff0c 需要确定防火墙没有阻止 3306 端口 xff0c 否则远程是无法通过 3306 端口连
  • 三次握手,四次挥手,为什么是三次握手四次挥手

    三次握手 两次握手 xff08 情况1 xff09 两次握手 xff08 情况2 xff09 OK xff0c 下面正经地来回答下这个问题 xff0c 要搞清楚这个问题 xff0c 首先得了解TCP究竟是如何保证可靠传输的 PS xff1a
  • VirtualBox 磁盘扩容(亲测有效)

    参考 xff1a VirtualBox和VMware虚拟机centos dev mapper centos root 磁盘扩容 亲测有效 蜡笔小新儿的博客 CSDN博客 virtualbox虚拟机磁盘扩容 虚拟机磁盘扩容一 VirtualB
  • 完美解决 Could not find a version that satisfies the requirement 安装包名字 (from versions: )

    大家在刚开始使用python 时会遇到缺少python 库的问题 xff0c 提示 No module named 安装包名字 问题 在解决安装包问题中在网上找了很多的方法 xff0c 方法很多各种各样 xff0c 对一部分人有用 xff0
  • Go语言实现对称加密算法AES、DES、3DES和非对称加密算法RSA

    1 对称加密算法 1 1 特点 加密和解密使用的是同一个密钥 数据私密性双向保证 也就是加密和解密都不能泄露密码 1 2 优缺点 优点 加密效率高 适合大些的数据加密 缺点 安全性相对非对称低 1 3 go语言实现对称加密算法 1 3 1
  • Ubuntu 上安装 MozJpeg 详解

    参考 xff1a How to Install MozJpeg on Ubuntu 18 04 3 CodeFAQ 2023 04 26 花了很多时间 xff0c 绕了很多弯路才成功安装 mozjpeg 图片压缩命令 xff1b 特记录一下