Kavita 媒体转换完整指南:用 WebP 与 AVIF 给你的漫画书库瘦身 Kavita 媒体转换完整指南用 WebP 与 AVIF 给你的漫画书库瘦身【免费下载链接】KavitaKavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.项目地址: https://gitcode.com/gh_mirrors/ka/KavitaKavita 是一款自托管的跨平台漫画阅读服务器。书库越大服务器媒体目录里的封面、书签、图标文件就越多占用的空间也越大。Kavita 内置的媒体转换功能Media Conversion可以把服务器管理的所有图片缓存一键重编码为 WebP 或 AVIF在不改动任何漫画原文件的前提下显著压缩这部分存储占用。Kavita 媒体转换到底转的是什么先明确一个容易误解的点Kavita 的媒体转换不会修改你的漫画原文件CBZ、CBR、PDF 等压缩包原样保留阅读器读取的始终是原始文件。它的目标对象是 Kavita 自己生成并管理的三类图片封面图章节、系列、卷、阅读列表、书架、收藏夹的封面书签图读者为每一话截取的阅读位置截图站点图标favicons转换逻辑集中在 MediaConversionService.cs底层编码由 ImageService.cs 完成。![Kavita 封面图片压缩示例系列封面图](https://raw.gitcode.com/gh_mirrors/ka/Kavita/raw/d549d5b1609086c8190b9bee6eb48ebfed71e1df/Kavita.Services.Tests/Test Data/ImageService/Covers/comic-square.jpg?utm_sourcegitcode_repo_files)三种格式怎么选PNG、WebP 还是 AVIFKavita 支持的目标编码格式定义在 EncodeFormat.cs 中共三个选项格式压缩特性典型体积表现适用场景PNG无损体积最大基准最大需要绝对保真或设备不支持新格式WebP有损/无损均支持兼容性好比 PNG 小约 26%比 JPEG 小 25%~34%大多数用户的首选平衡压缩率与兼容性AVIF基于 AV1 的现代编码压缩率最高比传统格式再省一截追求极致压缩设备均为现代浏览器Kavita 官方设置页面也提示WebP/AVIF 能大幅降低图片文件的空间需求can drastically reduce space requirements。上面是图片格式的常见压缩表现实际节省比例取决于你的封面来源但方向是一致的——换成现代格式空间占用必然下降。三步配置媒体转换操作全部在网页管理界面完成不需要碰命令行用管理员账号登录进入Admin Settings → Media媒体设置页面在Save Media As媒体保存格式下拉框中选择WebP或AVIF点击保存。页面会明确提示保存后还必须去 Tasks任务页手动触发媒体转换任务设置本身只影响之后新生成的图片进入Tasks页找到Convert Media to Target Encoding将媒体转换为目标编码点击执行。任务进入队列后由后台 Hangfire 执行界面上可以实时查看进度对应的设置界面源码见 manage-media-settings.component.html触发转换的接口是POST /api/server/convert-media见 ServerController.cs。![Kavita WebP 与 AVIF 媒体转换漫画封面批量处理示例](https://raw.gitcode.com/gh_mirrors/ka/Kavita/raw/d549d5b1609086c8190b9bee6eb48ebfed71e1df/Kavita.Services.Tests/Test Data/ImageService/Covers/comic-wide.jpg?utm_sourcegitcode_repo_files)转换任务在后台做了什么这个长任务按固定顺序处理所有 Kavita 管理的媒体书签图扫描书签目录把还不是目标格式的书签逐张重编码并更新数据库中每条书签的文件名封面图覆盖章节、系列、卷、阅读列表、书架、收藏夹六类封面全部重编码并同步数据库引用站点图标把 favicons 目录中不匹配目标格式的文件转换掉几个值得知道的行为细节增量处理只转换扩展名不匹配目标格式的文件已经是 WebP 的不会重复转换失败保护任何一张图转换失败时原文件会被保留并记录错误日志不会留下损坏或丢失的文件实时进度任务通过 SignalR 向前端推送进度事件转多少、剩多少一目了然防并发任务带 2 小时超时和禁止并发执行的约束重复点击不会跑两份![Kavita 封面批量转换覆盖范围系列封面与章节封面](https://raw.gitcode.com/gh_mirrors/ka/Kavita/raw/d549d5b1609086c8190b9bee6eb48ebfed71e1df/Kavita.Services.Tests/Test Data/ImageService/Covers/spread-cover.jpg?utm_sourcegitcode_repo_files)动手前的三个注意事项设置页面上写得很直白这里逐条展开不可逆转到 WebP/AVIF 后无法直接转回 PNG。如果未来想恢复只能通过刷新封面refresh covers让 Kavita 重新生成全部封面书签和图标则无法再转回 PNG。改完必须跑任务只改保存格式不触发任务存量图片还是老格式空间一点都不会少。弱设备要耐心官方说明中特别提到在 ARM 设备树莓派一类上转换很慢属于长时任务安排在空闲时段执行即可。另外同一个媒体设置页还有PDF Render Resolution和Cover Image Size两个选项它们控制的是图片生成尺寸如默认封面为 320x455与编码格式是两回事——格式解决压缩率尺寸解决单张大小两者配合效果最好。如何验证压缩效果任务完成后可以用两个方式确认打开服务器上的封面目录Covers和书签目录检查文件扩展名是否已从.png变为.webp或.avif对比转换前后这两个目录的总大小差值就是省下来的空间数据库中的文件引用会在转换过程中逐条更新提交前端页面照常读取无需手动处理。对于新入的封面Kavita 会直接按你设置的目标格式生成后续不需要再次全量转换。选一个空闲的晚上把格式切到 WebP跑完一次转换任务——书库缓存目录瘦身后同样的硬盘能放下更多漫画而读者端看到的封面清晰度几乎不变。【免费下载链接】KavitaKavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.项目地址: https://gitcode.com/gh_mirrors/ka/Kavita创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考