请问下有什么免费的工具转WebP比较好
看VCB出的产品现在都是用WebP了。因为平时下BDMV的扫图都是PNG很大,想看看有什么比较好的软件就自己转了XnViewMP,可以看图也可以转换。它还有一个专门用来转换的软件XnConvert 本帖最后由 shadows 于 2023-8-18 23:02 编辑
命令行工具可以直接用ImageMagick
将当前目录所有png文件转换为webp(保留源文件):
mogrify -format webp *.png
ffmpeg应该也没问题,这都是很普通的需求,工具太多了
网页工具(本地处理数据,不上传数据到服务器的)
https://imagestool.com/zh_CN/ caesium-image-compressor
webp也算是老掉牙的格式了,对应的工具也是烂大街 https://github.com/Tichau/FileConverter
shell扩展,右键直接转换,香。 我一般直接用官方实现 libwebp 的命令行前端 cwebp 转
无损
cwebp -z 9 image.png
有损
cwebp -q 70 -m 6 -mt -af image.png
GNU parallel 批量并行转换
parallel cwebp -z 9 {} -o {.}.webp ::: *.png webp兼容性不太好,一些老的论坛webp动图会变成静态图像 我用的ACDSee
本帖最后由 偷懒的小蜜蜂 于 2023-8-18 20:33 编辑
自己改的py,应该可以放出吧
import os, subprocess
dir = input('Scan folder > ').replace('\"','')
dir_out = dir + '_webp'
file_list = []
for root, dirs, files in os.walk(dir):
for name in files:
file_list.append(os.path.join(root, name))
for in_file in :
out_file = in_file.replace(dir, dir_out).replace('.png', '.webp')
os.makedirs(os.path.dirname(out_file), exist_ok=True)
file_size = os.path.getsize(in_file) / 1048576
if file_size >= 50:
subprocess.run(['ffmpeg', '-i', in_file, '-vf', 'scale=iw/2:ih/2', '-sws_flags', 'bicubic', '-lossless', '1', out_file], shell=True)
elif file_size >= 30:
subprocess.run(['ffmpeg', '-i', in_file, '-vf', 'scale=iw/1.5:ih/1.5', '-sws_flags', 'bicubic', '-lossless', '1', out_file], shell=True)
else:
subprocess.run(['ffmpeg', '-i', in_file, '-lossless', '1', out_file], shell=True)按原始体积判断,对体积大于30MB的图出重拳{:11_830:} WebP 太老了,建议换 JXL 少走 10 年弯路
fd -e png -d 1 -j 4 -x cjxl {} {.}.jxl -e 1 -d 1 --quiet或者
fd -e png -d 1 -j 4 -x vips copy {} {.}.jxl
页:
[1]
2