求一个压缩图片和压缩短视频的软件

一般失真是难免的。不失真的压缩,压缩率很差。

这2个需求,我很早就遇到了,所以自己写了2个工具来解决:
照片:
http://haitao.appinn.me/?app=photolib

把指定目录里的所有照片(*.jpg)文件做批量缩小
缩小后的照片:
长度保持指定值像素(电脑里观看,1024-1600就行了)
质量保持指定值(1为最差,100为最好)
数码相机原始文件是70-95,一般选择75-85就行了
建议只用于缩小,否则效果并没提高,只会使得文件变大
放大(增加长度)只会模糊或出现马赛克,没什么意义
质量设得比原照片高,只会使得文件变大,没有意义
http://47.107.139.58/config/photolib.gif

输出的照片目录可以是同一目录(通过附加字符串到文件名)
或不同的目录(通过附加字符串到目录名)
方式: 原照片文件路径 缩小后的照片文件路径

  1. DIR\s\FILE.JPG 代表 DIR\FILE.JPG => DIR\s\FILR.JPG
    即把原来的d:\dir\xx.jpg,缩小到子目录s下

  2. DIRs\FILE.JPG 代表 DIR\FILE.JPG => DIRs\FILE.JPG
    即把原来的d:\dir\xx.jpg,缩小到d:\dirs目录下

  3. DIR\FILEs.JPG 代表 DIR\FILE.JPG => DIR\FILEs.JPG
    即把原来的d:\dir\xx.jpg,缩小到原目录,但是文件名加s
    (否则会覆盖原来的照片)

  4. s\FILE.JPG 代表 DIR\FILE.JPG => s\FILE.JPG
    即把原来的d:\dir\xx.jpg,缩小到任意的新目录s下
    (此时s应该是一个带盘符的完整目录,如:e:\abc)

  5. s\[email protected] 代表 DIR\d1\d2\FILE.JPG => s\[email protected]
    因为4)是把源目录里所有子目录的文件都转换到同一个目标目录
    如果子目录不同文件名相同,会只保留一个文件
    所以增加此模式

  6. tmpdir\[email protected] 代表 5)模式里如果目标文件变小了
    则覆盖原文件(原文件加.OldJpg后缀,确认不需要可以批量删除)

高级用法:如果你的cpu是多核的,如4个核
则可以修改ini配置文件,把里面的cpu=1改为cpu=3
这样,可以充分利用多个核一起工作,提高速度

视频:
也是对一批视频,按内容的重要性,可以分别设置分辨率、码率重新压缩:
http://haitaosite.cn/go/?u=/?app=videoconv
http://47.107.139.58/config/videoconv.gif