文档章节

mozjpeg3.1:Mozilla新的图片压缩项目,让网页中的JPEG重新焕发青春!

B-BYGG
 B-BYGG
发布于 2014/09/11 17:18
字数 1975
阅读 656
收藏 1

#2016-03-07

    mozjpeg这个项目估计多半已经放弃了吧。已经将近一年没有更新了。但是就目前版本来看,基本上能够达到压榨的最大限度了。好用就行,毕竟自己不是版本控。今天要在linux下压缩图片,随手编译了3.1版本,打成了deb的包。有需要的可以下哦。编译环境(linux mint 17 +64位),估计ubuntu 14.04 x64 也是没有问题的。

地址:https://yunpan.cn/cYcQEUMrrN3s4 (提取码:0c6a)


#2015-06-21

    看到有朋友留言需求mozjpeg3.1版本编译好的程序。其实我在5.22号放出的已编译源代码当中就包含有
源码+编译好的程序。环境是win7(64位)+vs2013。编译出来的程序是32位的。

    这次放出的是Mozjpeg-GUI  0.3.1,我自己写的mozjpeg的壳程序。同上一版本有些许变化。

1.mozjpeg版本更新为最新的3.1
2.增加了多语言选择支持,包括英文、简体中文、繁体中文三种
3.加大了图片预览窗口,以及支持图片原图和缩略图预览。(暂不支持等比例缩放,懒得写了)
4.尝试加入对PNG和Gif格式的支持。(因JPEG的原因透明背景不支持)

    地址:http://yunpan.cn/cQYAe7aIymVyv  访问密码 ad9a

#2015-05-22
4天前更新版本到3.1了。主要的就是修复了若干BUG以及内存泄漏问题。
        win7下已编译源代码地址:http://yunpan.cn/cwyDQ8vqRzaRq  访问密码 7fc4

#2015-01-12
已经3.0了,编译过后没觉得有什么太大的改善啊!说好的对PNG格式的支持呢?
mozjpeg-GUI(v0.21):只是将mozjpeg的版本更新为3.0,gui程序没有更新!附带已编译源码下载!
        地址:http://yunpan.cn/cy5fGfBapXEPu (提取码:978d)

         win7下已编译源码地址:http://yunpan.cn/cy5fDxsEVQgpf (提取码:f1bf)

#2014-09-09

mozjpeg-GUI(v0.21):支持XP以上系统32位和64位!!!
        地址:http://ac2axlcgzs.l32.yunpan.cn/lk/Q7qw3JmZJ6NLQ(提取码:666a)

#2014-08-29
mozjpeg-GUI(v0.20):仅支持win764位系统!!!
        地址:http://acr7rvkzys.l32.yunpan.cn/lk/QaTi5WGgmXzGQ(提取码:6d83


     JPEG格式诞生到现在已经被我们使用了21年,很多新图片格式的诞生就是为了就是为了代替JPEG!Mozilla的新项目mozjpeg,反其道而行至,能否让JPEG重新焕发青春?

       在此期间微软推出了HD Photo,为移动端设计的WBMP(听说淘宝已经支持了),还是更古老的GIF以及无损压缩的PNG等等。但是目前来说,网页当中的图片95%以上的还是采用GIF以及JPEG混合格式的。

        mozjpeg项目似乎让我们看到了曙光。更高的压缩比,渐进式的展现,让JPEG在网络条件下,表现的更为出色!

        这里需要提一下所谓的渐进式展现效果:

     JPEG在网页中基本是这样打开的:

        而渐进式是这样打开的:

        改进后的图片打开方式,更适合在网页当中展现进行展现!

       

        【2015-01-12】

         最新版本为3.0了,确实没觉得有什么实质性的改变。官网上说改进的地方如下:

NOTE: This release includes significant changes to the mozjpeg ABI in order to return to ABI compatibility with libjpeg-turbo. See the file ‘README-mozilla.txt’ for more information.

  • mozjpeg is now backward ABI-compatible with libjpeg-turbo. See ‘README-mozilla.txt’ for more information.

  • DC trellis quantization (compression improvement)

  • Merge successive DQT (FFDB) and DHT (FFC4) markers in a single marker (compression improvement)

  • Deringing for black-on-white text

  • Option to select quantization tables

  • New cjpeg flag ‘-version’ to obtain version

  • PNG input support for cjpeg

  • Various other improvements from syncing with latest libjpeg-turbo code



        下载最新版本3.0(https://github.com/mozilla/mozjpeg/releases/tag/v3.0)       


        比较心动的是支持png格式,但是试用了一下还是不行啊?说好的支持PNG那里去了呢?


        下载编译最新的版本2.1(https://github.com/mozilla/mozjpeg/releases/tag/v2.1)。于windows7下编译后,得到了若干文件:

  1. cjpeg-static.exe

  2. djpeg-static.exe

  3. jpegtran-static.exe

  4. rdjpgcom.exe

  5. tjbench.exe

  6. tjbench-static.exe

  7. tjunittest.exe

  8. tjunittest-static.exe

  9. turbojpeg.dll


其中本文用到的就是第一个cjpeg-static.exe。

基本用法:(更多参数:cjpeg --help查看)

$ cjpeg -quality80 001.bmp > 001.jpg


        mozjpeg支持4种优化算法,分别是PSNR、PSNR-HVS、SSIM、MS-SSIM,其中PSNR-HVS是mozjpeg默认的。同时还支持图像的平滑度设置。


   我们来看一下60%压缩下,photoshopcc、IrfanView、以及mozjpeg下图片的对比。

(点击放大)


(点击放大)

        原图大小(2.55MB)photoshop大小(1.02MB)IrfanView大小(502KB)mozjpeg大小(424KB)

压缩比相对减少
原图
photoshop
IrfanView
mozjpeg
mozjpeg
83.7%
59.4%
15.5%
0%

       从以上实验可以看出,mozjpeg在原有压缩比上至少提升了15%!!!同时质量几乎没有改变!

        当然,jpeg有损压缩固有的缺点依然保留了下来。就是图片中字体压缩会出现模糊发虚的现象。这在压缩比低于90%以下就会出现。所以最好的解决办法就似乎,图片中不要出现文字!(^-^)


        mozjpeg对浏览器的向下兼容也是很不错的,至少ie6以上以及火狐chrome、oprea都能够正确的支持。也不是没有缺点,最新的2.1版本对gif格式依然不支持,对png格式支持也是非常有限,尽量转换时使用jpeg以及bmp格式吧。如果是其他格式的可以先转成这两种格式。(编译后生成的djpeg-static.exe就是一个格式转换工具,支持gif等格式互相转换。)


我自己为了方便批量转换图片,用C#做了一个外壳程序(mozjpegGUI),有需要的可以下载哦!


#2016-03-07

    mozjpeg这个项目估计多半已经放弃了吧。已经将近一年没有更新了。但是就目前版本来看,基本上能够达到压榨的最大限度了。好用就行,毕竟自己不是版 本控。今天要在linux下压缩图片,随手编译了3.1版本,打成了deb的包。有需要的可以下哦。编译环境(linux mint 17 +64位),估计ubuntu 14.04 x64 也是没有问题的。

地址:https://yunpan.cn/cYcQEUMrrN3s4 (提取码:0c6a)


#2015-06-21
    看到有朋友留言需求mozjpeg3.1版本编译好的程序。其实我在5.22号放出的已编译源代码当中就包含有
源码+编译好的程序。环境是win7(64位)+vs2013。编译出来的程序是32位的。

    这次放出的是Mozjpeg-GUI  0.3.1,我自己写的mozjpeg的壳程序。同上一版本有些许变化。

1.mozjpeg版本更新为最新的3.1
2.增加了多语言选择支持,包括英文、简体中文、繁体中文三种
3.加大了图片预览窗口,以及支持图片原图和缩略图预览。(暂不支持等比例缩放,懒得写了)
4.尝试加入对PNG和Gif格式的支持。(因JPEG的原因透明背景不支持)

    地址:http://yunpan.cn/cQYAe7aIymVyv  访问密码 ad9a


#2015-05-22
4天前更新版本到3.1了。主要的就是修复了若干BUG以及内存泄漏问题。
        win7下已编译源代码地址:http://yunpan.cn/cwyDQ8vqRzaRq  访问密码 7fc4


#2015-01-12

 已经3.0了,编译过后没觉得有什么太大的改善啊!说好的对PNG格式的支持呢?

mozjpeg-GUI(v0.211):只是将mozjpeg的版本更新为3.0,gui程序没有更新!附带已编译源码下载!
      

        地址:http://yunpan.cn/cy5fGfBapXEPu (提取码:978d)

         win7下已编译源码地址:http://yunpan.cn/cy5fDxsEVQgpf (提取码:f1bf)


#2014-09-09
mozjpeg-GUI(v0.21):支持XP以上系统32位和64位!!!
        地址:http://ac2axlcgzs.l32.yunpan.cn/lk/Q7qw3JmZJ6NLQ(提取码:666a)

#2014-08-29
mozjpeg-GUI(v0.20):仅支持win764位系统!!!
        地址:http://acr7rvkzys.l32.yunpan.cn/lk/QaTi5WGgmXzGQ(提取码:6d83

© 著作权归作者所有

共有 人打赏支持
B-BYGG
粉丝 3
博文 3
码字总数 3816
作品 0
郑州
加载中

评论(6)

汉江传媒
汉江传媒
终于找到编译好的可以在xp下使用的了,哈哈哈哈
汉江传媒
汉江传媒
编译个xp能用的啊???xp下不能运行啊
Yabcer
Yabcer
地址:http://yunpan.cn/cQYAe7aIymVyv 访问密码 ad9a 连接已经失效请大神快速修复
Yabcer
Yabcer
3.1版本编译好的程序多久发布,期待!
Yabcer
Yabcer
专门注册一个帐号来关注您,感谢您的贡献! 5
w
wisdombird
专门注册一个帐号来表达谢意.63

mozjpeg-GUI +3.0 已经用上.
mozjpeg:JPEG图片压缩5%,获Facebook支持

mozjpeg是一个来自Mozilla实验室的JPEG图像编码器项目,目标是在不降低图像质量且兼容主流的解码器的情况下,提供产品级的JPEG格式编码器来提高压缩率以减小JPEG文件的大小。 Mozilla指出,这...

夕水溪下
2014/07/31
5K
19
Mozilla:谷歌的WebP图像格式没比JPEG强多少

谷歌称WebP在减少文件大小和加速网页载入(减少带宽开销)方面是个好方法。但 是对于它的爱好者们来说,这里有个坏消息——因为Mozilla研究和比对了JPEG、WebP、JPEG XR、以及HEVC-MSP(来自HEV...

oschina
2013/10/18
5.2K
26
mozjpeg:Mozilla的一个有关图像压缩的新项目

今天我准备向大家介绍Mozilla的一个新项目:mozjpeg。在目前兼容各个JPEG编码器的情况下,这个项目以期提供产品级的JPEG格式解码器来提高压缩率。 我们为什么要做这个项目呢? 1992年左右,J...

oschina
2014/03/23
2.6K
7
WebP 的故事:谷歌要统一互联网图片格式

科技博客GigaOM近日撰文称,谷歌试图让WebP图片格式取代JPEG等现有图片格式。虽然谷歌无法很快达成所愿,但WebP仍然会对互联网产生重大影响。 文章全文如下: 受够了蜗牛一般的网页加载速度?...

oschina
2014/07/22
8.4K
43
mozjpeg 2.0 发布,提升 JPEG 压缩率

Mozilla 发布了 mozjpeg 的2.0版本,与标准JPEG库相比,这款JPEG编码器现已能够平均减少5%的图像尺寸。Mozilla首席技术官Andreas Gal称:许多图像可见到显著的减小。当被问到更具体的数字时,...

oschina
2014/07/17
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

[Python进阶] Python命令行参数

Python 获得命令行参数的方法 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2] 解析命令行参数 Python提供了一个getopt模块,可用于解...

Eappo_Geng
16分钟前
0
0
add docker api url to jenkins

add docker api url to jenkins add jenkins to dockergroup gpasswd -a $USER docker gpasswd -a jenkins docker DOCKER_OPTS="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock" in ......

kewei_zhang
20分钟前
0
0
Scala入门篇

1、定义变量 var 可变 val 不可变,相当于Java中的final Unit相当于Java中的void,以()表示 scala> val a = println("ddd") ddd a: Unit = () 2,声明数组 scala> val arr = Array(1,2,3,4,5) ......

算法之名
20分钟前
6
0
利用redis统计分布式集群中接口缓存命中情况

接口使用了缓存,想看看缓存命中率,到底提升了多少了?固想到做个统计方法,单机情况下使用 AtomicImteger,考虑到分布式集群中多台服务器调用,所以考虑使用redis进行统计 原来的想法很简单用分布...

计算机的小二青年
21分钟前
0
0
前端加密JS库--CryptoJS 使用指南

有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对、AES + BASE64 算法加密等。 Base64 编码 为什么要编...

舒龙虎
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部