#1 - 2021-9-24 03:14
OO雷达
抛砖引玉,我用的是 mpv 播放器播放视频和截图,本质是使用 ffmpeg 进行截图,mpv 截图支持 jpg、png 和 webp 三种格式,可设置图片质量和压缩等级。当然,各位列举的配置可以不局限于 mpv(最好支持 GNU/Linux),目标是图片能准确还原画面的情况下体积尽可能小。

以下是 mpv 影响截图质量的主要参数,可在 mpv.conf 中修改,详细说明见此
screenshot-format=<type> (图片格式,default: jpg)
screenshot-jpeg-quality=<0-100> (jpg 图片质量,default: 90)
screenshot-png-compression=<0-9> (png 图片压缩等级,default: 7)
screenshot-png-filter=<0-5> (过滤器,default: 5)
screenshot-webp-lossless=<yes|no> (是否无损,若设置为 yes 则忽略 quality,default: no)
screenshot-webp-quality=<0-100> (webp 图片质量,default: 75)
screenshot-webp-compression=<0-6> (webp 图片压缩等级,仅影响有损的图片质量,default: 4)

我各种试了下,webp quality 75 的默认图片质量明显低于另两个格式,所以以90为最低值测试,png 的参数只能设置压缩等级,质量为无损。相近质量下的图片体积,png >> jpg > webp,而图片质量方面在明亮场景下肉眼观看基本一致,但在画面偏暗的环境下就出现了比较明显的区别,有损 webp 和 jpg 格式截出的图片会有一些色块,而 png 和无损 webp 则要好很多,但 png 格式截出的图片体积实在是太大,无损 webp 虽然比 png 小了很多但还是接近了1MB。

以下是以 [喵萌奶茶屋&JKHouse] 剃须。然后捡到女高中生 - 01 [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] 00:02:07.711处进行测试的部分有代表性的对比图(不要吐槽为什么是这里,正好碰到的能明显反应区别的场景)。为了减小页面大小,我只贴出一张完整的图片,其他的图以链接的形式放出。

png, filter:5, compression: 9, size: 7.6MB;
https://files.catbox.moe/ucj4ll.png
暗部特写(完美还原,袜子颜色十分纯净!胖次的明暗过渡也很自然,不过体积也很大,而各种过滤器肉眼没看出区别,图片体积变化不大)


webp, lossless: yes, quality: 90, compression: 5, size: 941.1KB;
https://files.catbox.moe/k97hxq.webp

暗部特写(无损 webp 的图片质量与 png 基本一致,体积也缩减了很多,但还是偏大了)


webp, lossless: no, quality: 90, compression: 6, size: 65.6 KB;
https://files.catbox.moe/it7wiv.webp
暗部特写(比较糟糕,袜子和胖次处出现明显色块)


webp, lossless: no, quality: 100, compression: 6, size: 188.9 KB;
https://files.catbox.moe/vtw5ms.webp
暗部特写(体积变为3倍,袜子和胖次处出现色块情况略有改善,但仍肉眼可见)


webp, lossless: no, quality: 100, compression: 0, size: 261.8 KB;
https://files.catbox.moe/5nsrcx.webp
暗部特写(不压缩,体积增大,质量还是差不多)


jpg, quality: 90, size: 201.8KB;
https://files.catbox.moe/0yqq8m.jpg
暗部特写(比有损 webp 情况好,但袜子处有纹路,胖次处有小色块)


jpg, quality: 100, size: 1.1MB;
https://files.catbox.moe/cehf1n.jpg
暗部特写(体积变为5倍,轻微改善)


小结:webp 在体积压缩上很出色,但有损 webp 对于暗处场景的处理并不令我满意,无损 webp 体积又大了一些,这就是我的纠结之处。所以我目前使用的方案是平时用90 quality 的 webp 截图,如果截图时遇到较暗的场景就临时设置为无损 webp。

还有一种思路是得到质量好的截图再压缩或转换,不过我试了没有得到好的效果,相同格式不损失质量压不动。不同格式的话我尝试了下最新的 avif 格式,使用 avifenc -l 可将 7.6MB png 无损转换为 3.8MB 的 avif,webp 转 avif 则暂未支持。ffmpeg 也还没支持 avif,以后支持了再来测测。
#2 - 2021-9-24 06:31
(あなたが、私の夢だ)
我觉得你换一张图做示例比较好哦
#2-1 - 2021-9-24 10:22
#2-2 - 2021-9-24 10:34
Venusxx
可能别人的主要目的是为了发这个图
#2-3 - 2021-9-25 13:24
#3 - 2021-9-24 09:14
(nobody cares.)
土鳖如我一般直接cmd+shift+4
#3-1 - 2021-9-24 19:27
OO雷达
如果抛开截图质量不谈,对截图党来说用外部软件截图的最大缺点大概是文件命名了,不是截完就删的话截图多了管理起来更花时间,播放器截图就方便管理很多,比如保存在视频目录,文件名可设置包含视频文件名、截图时的视频时间等等,截图也是我不喜欢在移动端和流媒体看动画的主要原因。
#4 - 2021-9-24 10:13
(此账号已停用)
之前用Potplayer的Ctrl+E,不知道什么插件作妖截不出来字幕,现在用Snipaste的快捷键
#4-1 - 2021-9-24 19:30
OO雷达
没在用 Potplayer,不过你可以翻翻播放器的快捷键,像 mpv 截带字幕的图和不带字幕的图快捷键是不一样的。
#4-2 - 2021-9-24 19:36
chitanda@Lv2
右键,视频-图像截取 里有设置项
#4-3 - 2021-9-24 21:38
红炉点雪
chitanda@Lv2 说: 右键,视频-图像截取里有设置项
设了,没用
#4-4 - 2021-9-24 21:42
狂犬榨汁姬艾莉丝
Ctrl+E是源画面当然没字幕,Ctrl+Alt+E才是实画面
#4-5 - 2021-9-24 22:00
红炉点雪
狂犬榨汁姬艾莉丝 说: Ctrl+E是源画面当然没字幕,Ctrl+Alt+E才是实画面
Nothing work well,我把那里的设置挨个摸了一遍…重装最省事但是懒(bgm39)
#5 - 2021-9-24 10:51
(Nice Fever)
我直接 print screen
#5-1 - 2021-9-24 19:47
OO雷达
同 #3-1
#5-2 - 2021-9-24 22:16
#5-3 - 2021-9-25 12:44
#6 - 2021-9-24 22:18
(。´-д-)
不是,7.6MB缩到941KB就不要嫌大了吧
#7 - 2021-9-25 11:42
(あの女の子は過酷な戦場に舞う、まるで精霊のようだっ ...)
不同参数设置下对比直观, 很有帮助的帖子
有几个问题想请教下:
1) 第二张
webp, lossless: yes, size: 941.1KB;
https://files.catbox.moe/k97hxq.webp
设置无损的状态下, 是不是默认quality为100 compression为0这样子?(自己用的是pot, 不太了解mpv),另外png的filter影响的是什么?
2) 其实自己昨天尝试着截取动画的一部分做动图,也碰上了体积过大的问题,[NC-Raws] 暮蟬悲鳴時 卒 / Higurashi no Naku Koro ni Sotsu - 14 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4],从19:16-19:20这短短的几秒,截取后的gif直接超过了外链网站限制的15M体积,在就如何进一步缩小体积做了些许调查后更改了部分设置(前后设置对比),但结果也不甚理想,还是超过了8M(附上该gif), 请问对此有没有什么好的解决方案?
PS: 本帖展现的png和无损webp之外的其他几种格式及设置下图片质量确实多少有不尽人意之处。突然闪过这样的想法:是否因为这些本身都是基于原分辨率的操作,故无法兼顾质量和体积呢。比如说,如果设置成半屏播放把分辨率降到一半,那么是否哪怕再用前两种(png和无损webp)以外的设置,色块问题也能一定程度上得到中和?
#7-1 - 2021-9-25 14:22
#7-2 - 2021-9-25 16:15
OO雷达
1.你的问题在我上面给出的链接中都有解答,quality 和 compression 对无损质量没影响我就没列出,但对体积还是有一些影响的,现在补上。
--screenshot-webp-lossless=<yes|no>
    Write lossless WebP files. --screenshot-webp-quality is ignored if this is set. The default is no.
--screenshot-webp-compression=<0-6>
    Set the WebP compression level. Higher means better compression, but takes more CPU time. Note that this also affects the screenshot quality when used with lossy WebP files. The default is 4.
--screenshot-png-filter=<0-5>
    Set the filter applied prior to PNG compression. 0 is none, 1 is "sub", 2 is "up", 3 is "average", 4 is "Paeth", and 5 is "mixed". This affects the level of compression that can be achieved. For most images, "mixed" achieves the best compression ratio, hence it is the default.
#7-3 - 2021-9-25 16:18
OO雷达
2.答案就是放弃老旧的 gif,最好的方法直接截取为视频(使用支持无需重新编码的软件剪辑效果更好),如果因为一些原因需要图片格式的话可以考虑(先截出视频再转成) webp(avif 更佳但目前还未得到广泛支持),如果一定要用 gif 又想消除噪点的话就先截出视频再用 gifski 来转换,但体积会翻数倍。
比如这个帖子的第一张图,1.1MB 的 webp 动图,由下面链接中的 572.9KB 的 webm 视频转换而来,质量体积都劣于视频但远好于 gif,视频直接转换为 gif 会得到一张 2.4MB 且充满噪点的动图,用 gifski 来转体积就又翻数倍。
#7-4 - 2021-9-25 17:24
OO雷达
3.减小分辨率自然能很好地压缩图片体积,但色块问题主要出现在暗色场景,明亮的场景基本看不出区别,所以平时用有损 webp 截图,图片体积也就几十或一百多KB,没必要再压了。
#7-5 - 2021-9-26 12:17
工口卿
狂犬榨汁姬艾莉丝 说: https://zhuanlan.zhihu.com/p/46409210
第一个网站自己搜索gif压缩时也有见过, 需要关注公众号故作罢。而且总感觉这种规模的网站不知道什么时候不能用了也不奇怪(自己之前常用的外链站都没了一堆), 所以还是倾向于用软件来解决。不论如何还是感谢推荐。
#7-6 - 2021-9-26 12:47
工口卿
OO雷达 说: 答案就是放弃老旧的 gif,最好的方法直接截取为视频(使用支持无需重新编码的软件剪辑效果更好),如果因为一些原因需要图片格式的话可以考虑(先截出视频再转成) webp(avif 更佳但目前还未得到广泛支持),如果一定要用 gif 又想消除噪点的话就先截出视频再用 gifski 来转换,但体积会翻数倍。
对gif倒不是有什么执念, 纯粹是因为平时哪怕接触动图也没特别留意过格式, 于是一直以为就只有gif来着(bgm38)

请问上面提到的"支持无需重新编码的剪辑软件"常见的有哪些? 另外支持"把视频转换成所需图片格式"的软件有没有什么推荐的?
归根结底自己对视频&音频参数之类的就一窍不通, 知道个AVC&AAC还是因为收藏压制作品时顺手查了下(bgm38)。过去没有碰到图片处理的问题也没有在这方向深入了解的动力, 看来还是绕不开啊...得找找适合入门的文章了。
#8 - 2021-9-25 13:15
(宅男会虚构虚构老婆倒贴给虚构自己这件事究竟有什么错)
最佳配置应该是先输出位图,再根据需求选择压缩方法。
搞那么麻烦就没意义了,prtscr 一把梭!
#9 - 2021-9-25 15:40
(疏影尚风流)
怎么这么复杂
#9-1 - 2021-9-25 16:30
OO雷达
测试自然需要各种对比,但确定配置后就正常使用就行,一劳永逸= =
#10 - 2021-9-25 15:47
(mEtAyAyYEaye sphaela/.)
原图就是有损的,整这么复杂意义不大
#10-1 - 2021-9-25 17:16
OO雷达
测试繁琐,使用不繁琐,旨在得到好用的动画截图通用方案。
#11 - 2021-9-26 08:51
(プリズムの煌きよ!)
mark
竟然还会有这种研究(bgm38)
#12 - 2021-9-26 12:40
(あの女の子は過酷な戦場に舞う、まるで精霊のようだっ ...)
删除了回复
#13 - 2021-9-26 13:48
很有意思的研究,我之前都是截取png然后手动压,导致我每次上传图片的时候都极为痛苦(bgm03)

之前一直以为 jpg 已经是最好的压缩算法了,看楼主测评才知道自己肤浅了,webp用的什么算法啊好奇(