问题标签 [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.

0 投票
0 回答
630 浏览

android - 如何在 Android 上使用 mozjpeg 库/可执行文件?

我知道,可能最好的办法是继续尝试使用 NDK 构建它,但我以前从未使用过 NDK,所以会很难。因此,我认为最好先问清楚。也许有人已经尝试在 Android 上构建/运行mozjpeg?甚至可能吗?

我的主要目标是执行可以通过使用jpegtran可执行文件(无损旋转、裁剪、优化 jpeg 文件)来完成的操作。来自 Java 代码。

我已经看到了构建 libjpeg-turbo: libjpeg-turbo for android 的说明——但它们适用于 mozjpeg 吗?

0 投票
1 回答
11296 浏览

jpeg - jpegoptim vs jpegtran vs mozjpeg

我在这件事上发现了两篇略有冲突的博客文章,在这里我总结一下:

更令人困惑的是,这个 Reddit 线程表明 mozjpeg 使用 jpegcrush 中使用的相同算法,并且 jpegcrush 是 jpegtran 的包装器......所以我们绕了一圈?我只能假设那些 Reddit 评论是错误的,有人可以确认吗?

0 投票
1 回答
1145 浏览

pillow - jpegtran 与 libjpeg-turbo、jpegoptim 和 mozjpeg 有什么关系?

据我了解,jpegtran 包含在 libjpeg-turbo 中,并且在使用optimize=True. jpegoptim 使用与 jpegtran 相同的算法,但需要将图像临时保存到磁盘才能对其进行优化,并且 jpegoptim 具有额外的有损压缩能力。

查看 Github 上的 mozjpeg 存储库,有很多对 libjpeg-turbo 的引用,而且它有更多的星星,所以我的问题是它们之间有什么关系?mozjpeg 是 libjpeg-turbo 的一个分支,它可以做任何事情甚至更多吗?即,是否可以禁用 mozjpeg 中的某些功能并最终获得与 libjpeg-turbo 相同的性能和结果?

0 投票
3 回答
587 浏览

bash - mozcjpeg - 优化原始图像

我正在尝试使用 mozcjpeg 优化 sample.jpg,但我希望它压缩 sample.jpg,而不是创建另一个文件。

我运行这个命令:

我得到

正确的方法是什么?

PS 我有一个每天运行一次的 bash 脚本来优化过去 24 小时内创建的图像。

0 投票
1 回答
1824 浏览

ubuntu - 如何在 ubuntu 服务器上使用 Mozjpeg 批量优化图像?

我想批量优化图像,我阅读了 mozjpeg 的用法,没有如何在服务器上批量工作。

你能告诉我如何优化它吗?

谢谢你。

0 投票
1 回答
203 浏览

java - mozjpeg安装问题

我的 java 项目中需要 mozjpeg。我正在从链接中的说明安装它: 说明

一步说我需要使用选项--with-java 运行命令./configure。我输入这样的命令:

(因为我的 jni 头文件在这个位置)。我也试过 source /home/user/NARZEDZIA/jdk1.8.0_73/ 但我仍然有同样的错误:

配置:错误:找不到 JNI 头文件

知道如何帮助 ./configure 找到 jni 头文件吗?:/

0 投票
2 回答
85 浏览

image-processing - 如何将 exec.Command 包装在 io.Writer 中

我正在尝试使用 mozjpeg 压缩 JPEG 图像。由于它没有官方的 go 绑定,我想我会调用它的 CLI 来进行压缩。

我尝试在以下情况下对用法进行建模compress/gzip

现在的问题是,我如何将 CLI 包装在 Compresser 中以便它可以支持这种用法?

我试过这样的事情:

却没能完成。

另外,第二个问题是,我什么时候关闭命令?如何关闭命令?

0 投票
1 回答
438 浏览

jpeg - Mozjpeg - 渐进式 jpeg 图像渲染首先显示灰度图像

我正在使用以下命令使用 mozjpeg(cjpeg 实用程序)生成渐进式 JPEG

在渲染此输出图像时,首先显示灰度图像,然后是绿色图像,然后是原始图像。经过大量研究,我发现 DC 系数的拆分是为了减小图像的大小。但是,我需要渲染从模糊到明亮。如何做到这一点?

0 投票
1 回答
977 浏览

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 相同的设置?

0 投票
1 回答
342 浏览

node.js - 如何限制 imagemin-mozjpeg 中的子进程数量?

我正在使用 imagemin-mozjpeg,它使用 mozjpeg 二进制文件来压缩图像。

问题是我在 nodejs 网络服务器中使用它。

这就是它现在的工作方式:

  1. 我正在使用“请求”模块(fs.createReadStream)上传 JPEG 图像。

  2. Multer 处理流并将其保存在缓冲区(内存存储)中。

  3. 然后将缓冲区传递给 imagemin 进行压缩。

  4. 然后将压缩缓冲区写入文件。(示例.jpg)

一切正常。

这里的问题是,对于每个请求,都会产生一个新的 mozjpeg 二进制子进程 cjpeg。

1 个子进程消耗 12.5 MB 内存(对于 .5 MB 文件)。

如果我同时有 50 个请求,则大约为 700 MB,因为对于 50 个图像,有 50 个子进程。

有没有办法可以限制子进程的数量?(该库正在使用“execa”模块)或仅生成 4-5 个子进程,它们对所有请求进行压缩。

谢谢