工具里的库
| 库 | 版本 | 许可证 | 用途 |
|---|---|---|---|
| libheif-js | 1.23.5 | LGPL-3.0(见下) | HEIC 转 JPG、PNG |
| exifr(lite 版) | 7.1.3 | MIT | 读取照片信息 |
| piexifjs | 1.0.6 | MIT | 写入照片信息 |
| mp4box | 2.5.0 | BSD-3-Clause | 读取 MP4、MOV |
| mp4-muxer | 5.2.2 | MIT | 写出 MP4 |
| @jsquash/webp | 1.5.0 | Apache-2.0(内含 libwebp,BSD-3-Clause) | 写出 WebP |
| @jsquash/avif | 2.1.1 | Apache-2.0(内含 libavif,BSD-2-Clause) | 读取、写出 AVIF |
| UTIF.js | 3.1.0 | MIT(用到 pako,MIT 和 Zlib) | 读取、写出 TIFF |
| gifenc | 1.0.3 | MIT | 写出 GIF |
| UPNG.js | 2.1.0 | MIT(用到 pako,MIT 和 Zlib) | 把 PNG 文件变小 |
libheif 和 libde265 的 LGPL-3.0 说明
libheif-js 按 LGPL-3.0 发布,它的文件里编译进了 libheif 和 libde265,这两个库的许可证同样是 GNU 宽通用公共许可证第 3 版(LGPL-3.0)。许可证全文见 gnu.org/licenses/lgpl-3.0。
- 源码: libheif 和 libde265 的源码在上面两个链接;libheif-js 的源码在表格里的 libheif-js 链接。
- 加载方式: HEIC 工具按需把 libheif-js 作为单独的脚本文件加载,只在浏览器自己解不了 HEIC 时才加载。
- 自己的构建: libheif-js 和 libheif 都是开源的。想用自己编译的 libheif,可以用你的 libheif 版本从源码构建 libheif-js(或任何兼容的解码器)。
图片格式转换用到的库
图片格式转换用 jSquash 的两个包(Apache-2.0)写出 WebP 和 AVIF,它们里面编译进了 libwebp(BSD-3-Clause)以及 libavif 和 AV1 编解码器 libaom(BSD-2-Clause)。TIFF 的读写用 UTIF.js,GIF 的写出用 gifenc(都是 MIT)。这些库都是在你选了对应格式时才作为单独的文件加载,没有一个是 GPL。
图片压缩和图片格式转换用同一份代码,另外用 UPNG.js(MIT,用到 pako)把 PNG 文件变小。UPNG.js 只在压 PNG 时才作为单独的文件加载。
对这些说明有疑问,请写信到支持页上的地址。