压缩网页图片

不压不知道,一压吓一跳,大部分图片几乎都能在近似无损的情况下压缩掉 65% 原始大小左右,如果指明有损压缩,比如 jpeg 的 85 %,还能更小。

Smush.it

smushit 现在已经属于 Yslow 的一部分了,可以通过 firefox 插件使用,也能在线用,缺点就是你的图片必须能够从公网访问。

可以压缩各种图片,按照官方的解释,它会尝试各种工具和算法,找到最优的方式。因此,smushit 是一种很安全的压缩工具,几乎看不到差别,就是用起来麻烦些。

imagemagick

不同的图片格式有各自的特点,比如 gif 善于存储颜色较少的图片,也是动画图片的首选;png 善于存储能够矢量化的图片,jpg 则善于存储颜色、图片变化都比较多的图片。根据不同的图片特点,进行类型转换,有时能收到不错的效果。

图片 convert 之后,还可以利用其它工具进一步压缩,不过效果不大了。

另附一个转换图片类型之后,批量替换模板中调用文件名的脚本:

grep logo.gif * -R | awk '{print $1}' | sed 's/://' | xargs -I '{}' sed -i 's/logo.gif/logo.jpg/' '{}'

jpegoptim

这是今天刚发现的好东西,ubuntu 源中有,主要可以用它去除 jpg 图片文件当中的 comment exif IPTC 等无用标记,我测试的情况压缩率比 smushit 略低一点点。由于能够通过命令行使用,所以易用性更强。

一般我喜欢用 --strip-all 参数去除所有无用内容,实际压缩之前可以用 -n 参数预测一下压缩率(默认直接压缩覆盖源文件了),24bit Adobe 类型的图片基本上都能够压缩掉 65% 原始大小,碰到 24bit JFIF 这种类型的图片一般压不动,但带上有损压缩参数比如 -m85之后,依然能够达到较理想的压缩率,并且图片损失效果不明显。

遇到无法压缩的图片、压缩后体积反而增大的图片会自动跳过,很贴心。

基本上,有了上面三种方式,就能够处理大部分网页图片了。

使用mencoder转换佳能数码相机录像文件的最佳参数

佳能数码相机深得用户喜爱,在市场上占有比较大的数额,当然说的是数码照相机了,不管是单反dslr还是低端的dc。同时和其他品牌的数码相机一样,虽然主要功能是照相,也都带有简单的录像功能,不过canon的录像功能弱了一点,不仅音频采样率只有11024Hz,连视频信息也只是简单的存为Motion jpeg格式,换句话说就是把每秒24张jpeg图片存到一个大文件中,播放的时候一张张显示而已。即使是1G的sd卡,大概也只能录8分钟左右,所以,我要用mencoder转换录像文件的格式,这样尺寸会小很多。

目前使用mencoder转视频文件,使用最多的两种视频格式应该是lavc和xvid了,我个人喜欢xvid,不过还是先把找到的lavc的参数列出来:

mencoder MVI_2145.AVI -o 20070101-make_huntun.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -oac mp3lame -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -mc 0

如果使用xvid的话,参数为:

mencoder MVI_2145.AVI -o 20070101-make_huntun.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -srate 11025 -lameopts preset=medium -mc 0

上面两个例子是经过我的实验,综合效果最好的两种方式,如果想再把尺寸缩小一些,可以把采样率bitrate减少到600或更低。在相同bitrate的情况下,采用mpeg4编码的lavc和xvid压缩比大体相当。前面几个参数比较好理解,后面几个参数说明如下:

-srate 11025 canon相机录像音频的采样频率为11024,所以需要使用这个参数来把采样率固定到11025,为啥不用11024呢?我也不知道,反正用11024的话mencoder就不干活。

-lameopts preset=medium 这是使用系统内设的medium方式来指定音频mp3压缩方式,medium大概是最低的了,更高的还有standard和extreme,既然录音效果不佳,指定高参数也是无益。

-mc 0 这个参数主要是用来去除转换过程中的一些“Skipping frame!”、“1 duplicate frame(s)!”之类的提示,不仅如此,似乎还能使转换后的音频更流畅一些,并且如果没有这个参数和上面那个lameopts preset=medium,音频和视频有可能会不同步。

参考: [MEncoder-users] Compressing the photo camera Canon A610 video to mpeg4 at the best quality. Powershot SD700 IS — Major Problem

我的一段7分52秒的录像,canon相机存的原始大小为819.7M,使用xvid格式压缩完毕是46.8M,只是原来大小的5.7%,可以吧?大家还有什么压缩经验,拿出来一起分享哦。