问题标签 [mozjpeg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android 上使用 mozjpeg 库/可执行文件?
我知道,可能最好的办法是继续尝试使用 NDK 构建它,但我以前从未使用过 NDK,所以会很难。因此,我认为最好先问清楚。也许有人已经尝试在 Android 上构建/运行mozjpeg?甚至可能吗?
我的主要目标是执行可以通过使用jpegtran
可执行文件(无损旋转、裁剪、优化 jpeg 文件)来完成的操作。来自 Java 代码。
我已经看到了构建 libjpeg-turbo: libjpeg-turbo for android 的说明——但它们适用于 mozjpeg 吗?
jpeg - jpegoptim vs jpegtran vs mozjpeg
我在这件事上发现了两篇略有冲突的博客文章,在这里我总结一下:
- jpegoptim 和 jpegtran 执行相同并产生相同的结果,而 mozjpeg 需要两倍的时间才能节省非常小的文件大小
- 与 jpegtran 相比,mozjpeg 需要大约 1.7* 的计算时间,并在文件大小节省方面产生大致成比例的好处
更令人困惑的是,这个 Reddit 线程表明 mozjpeg 使用 jpegcrush 中使用的相同算法,并且 jpegcrush 是 jpegtran 的包装器......所以我们绕了一圈?我只能假设那些 Reddit 评论是错误的,有人可以确认吗?
pillow - jpegtran 与 libjpeg-turbo、jpegoptim 和 mozjpeg 有什么关系?
据我了解,jpegtran 包含在 libjpeg-turbo 中,并且在使用optimize=True
. jpegoptim 使用与 jpegtran 相同的算法,但需要将图像临时保存到磁盘才能对其进行优化,并且 jpegoptim 具有额外的有损压缩能力。
查看 Github 上的 mozjpeg 存储库,有很多对 libjpeg-turbo 的引用,而且它有更多的星星,所以我的问题是它们之间有什么关系?mozjpeg 是 libjpeg-turbo 的一个分支,它可以做任何事情甚至更多吗?即,是否可以禁用 mozjpeg 中的某些功能并最终获得与 libjpeg-turbo 相同的性能和结果?
bash - mozcjpeg - 优化原始图像
我正在尝试使用 mozcjpeg 优化 sample.jpg,但我希望它压缩 sample.jpg,而不是创建另一个文件。
我运行这个命令:
我得到
正确的方法是什么?
PS 我有一个每天运行一次的 bash 脚本来优化过去 24 小时内创建的图像。
ubuntu - 如何在 ubuntu 服务器上使用 Mozjpeg 批量优化图像?
我想批量优化图像,我阅读了 mozjpeg 的用法,没有如何在服务器上批量工作。
你能告诉我如何优化它吗?
谢谢你。
java - mozjpeg安装问题
我的 java 项目中需要 mozjpeg。我正在从链接中的说明安装它: 说明
一步说我需要使用选项--with-java 运行命令./configure。我输入这样的命令:
(因为我的 jni 头文件在这个位置)。我也试过 source /home/user/NARZEDZIA/jdk1.8.0_73/ 但我仍然有同样的错误:
配置:错误:找不到 JNI 头文件
知道如何帮助 ./configure 找到 jni 头文件吗?:/
image-processing - 如何将 exec.Command 包装在 io.Writer 中
我正在尝试使用 mozjpeg 压缩 JPEG 图像。由于它没有官方的 go 绑定,我想我会调用它的 CLI 来进行压缩。
我尝试在以下情况下对用法进行建模compress/gzip
:
现在的问题是,我如何将 CLI 包装在 Compresser 中以便它可以支持这种用法?
我试过这样的事情:
却没能完成。
另外,第二个问题是,我什么时候关闭命令?如何关闭命令?
jpeg - Mozjpeg - 渐进式 jpeg 图像渲染首先显示灰度图像
我正在使用以下命令使用 mozjpeg(cjpeg 实用程序)生成渐进式 JPEG
在渲染此输出图像时,首先显示灰度图像,然后是绿色图像,然后是原始图像。经过大量研究,我发现 DC 系数的拆分是为了减小图像的大小。但是,我需要渲染从模糊到明亮。如何做到这一点?
go - 将 mozjpeg 与 cjpeg 一起使用比将其用作库具有更高的质量
我一直在尝试在我的 Go 应用程序中使用 mozjpeg 进行 JPEG 压缩,因为当通过它提供的 cjpeg 命令行实用程序使用时,它的质量似乎非常好。
但是,使用我的应用程序压缩的图片质量较差 - 具有相同质量级别的更多 JPEG 伪像。
我正在使用来自https://github.com/subuk/go-mozjpeg/blob/master/jpeg/compress.go的 libjpeg-turbo / mozjpeg 的 go 绑定
我自己的代码似乎并不太复杂:
这两个应用程序似乎都链接到与 Homebrew 一起安装的相同版本的 mozjpeg 库:
接下来我可以尝试什么来确保我的应用程序使用与 cjpeg 相同的设置?
node.js - 如何限制 imagemin-mozjpeg 中的子进程数量?
我正在使用 imagemin-mozjpeg,它使用 mozjpeg 二进制文件来压缩图像。
问题是我在 nodejs 网络服务器中使用它。
这就是它现在的工作方式:
我正在使用“请求”模块(fs.createReadStream)上传 JPEG 图像。
Multer 处理流并将其保存在缓冲区(内存存储)中。
然后将缓冲区传递给 imagemin 进行压缩。
然后将压缩缓冲区写入文件。(示例.jpg)
一切正常。
这里的问题是,对于每个请求,都会产生一个新的 mozjpeg 二进制子进程 cjpeg。
1 个子进程消耗 12.5 MB 内存(对于 .5 MB 文件)。
如果我同时有 50 个请求,则大约为 700 MB,因为对于 50 个图像,有 50 个子进程。
有没有办法可以限制子进程的数量?(该库正在使用“execa”模块)或仅生成 4-5 个子进程,它们对所有请求进行压缩。
谢谢