找回密码
 立即注册
查看: 5004|回复: 9

关于ass字幕中的PlayResX、PlayResY参数的问题

9

主题

168

回帖

507

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
119312
verdurewind 发表于 2021-11-5 02:10:30 | 显示全部楼层 |阅读模式
PlayResX、PlayResX这两个值感觉是控制字体分辨率的,为什么这两个值越高,字体越小;我把这两个值设成和我手机屏幕分辨率(2K分辨率的)一致,在手机上播放1080p的视频,感觉字幕有点小,然后多次测试,结果发现这两个值要是越高,字体就越小;要是把PlayResX、PlayResY分别设成1280和720,感觉字幕大小正好,为什么会这样?

点评

在字體大小固定的情況下,解析度越高,當然看起來字就越小了  发表于 2021-11-5 03:00
回复

使用道具 举报

47

主题

2781

回帖

2020

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
432683

崭露头角活跃达人CD!BD!坚持不懈灌水之王日积月累

孤雨独火 发表于 2021-11-5 05:26:02 | 显示全部楼层
本帖最后由 孤雨独火 于 2021-11-5 05:31 编辑

这两参数在字幕设计时就固定死了,不应该在每次播放时手动改。
只改这两可能产生大量奇奇怪怪的问题,比如坐标相关的全部偏离了设计初衷

面向不同分辨率的设备缩放匹配应该完全是播放器(字幕渲染器)的任务


回复

使用道具 举报

5

主题

126

回帖

715

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
80429
chrislong 发表于 2021-11-5 09:45:35 | 显示全部楼层
这个代码和/fs字体大小有什么区别吗?
回复

使用道具 举报

9

主题

168

回帖

507

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
119312
verdurewind  楼主| 发表于 2021-11-5 13:27:56 | 显示全部楼层
孤雨独火 发表于 2021-11-5 05:26
这两参数在字幕设计时就固定死了,不应该在每次播放时手动改。
只改这两可能产生大量奇奇怪怪的问题,比如 ...

嗯,受教了,我对字幕设计不是很懂。我是把B站的弹幕下载到本地做成ass字幕播放,手机播放器是mxplayer,结果全屏幕都是弹幕,没法看视频,试过在mxplayer里修改字号和比例,然而对这弹幕不生效,还是原来的大小。后来发现改这两参数有用,所以疑惑来了,不懂这两个值为什么越高字体就越小,感觉有点反常识 囧
回复

使用道具 举报

9

主题

168

回帖

507

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
119312
verdurewind  楼主| 发表于 2021-11-5 13:30:35 | 显示全部楼层
chrislong 发表于 2021-11-5 09:45
这个代码和/fs字体大小有什么区别吗?

我不懂这个字幕设计的,看看有没有大佬回答吧
回复

使用道具 举报

16

主题

293

回帖

504

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
55631
StarRingChild 发表于 2021-11-5 14:41:39 | 显示全部楼层
这个类似显示器的渲染分辨率。你要改字幕字体大小需要改 ass 里 Style 里的 Fontsize
回复

使用道具 举报

9

主题

168

回帖

507

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
119312
verdurewind  楼主| 发表于 2021-11-5 16:26:41 | 显示全部楼层
StarRingChild 发表于 2021-11-5 14:41
这个类似显示器的渲染分辨率。你要改字幕字体大小需要改 ass 里 Style 里的 Fontsize
...

感谢回复,我试试修改下fontsize
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2021-11-5 17:05:11 | 显示全部楼层
因为PlayResX、PlayResY参数是定义ass制作时匹配的参考分辨率,该ass中style指定的fontsize和pos、\fs和\fsc等标签都是相对该参考分辨率来的。

vsfilter和libass渲染ass字幕时会自动根据PlayResX、PlayResY参数缩放至目标视频分辨率(或屏幕分辨率)以使对应ass标签效果显示正确。
其中当ass的PlayResX、PlayResY参考比例和实际观看视频比例不一致时libass无法正确缩放渲染。
PlayResX、PlayResY参数缺失时也会导致渲染错误(libass)

这也是为什么你改了PlayResX、PlayResY参数后渲染的字体大小变了,因为你改了ass的参考分辨率却没有修改对应的fontsize和pos等参数

ass字幕的制作规范通常应该将PlayResX、PlayResY设为目标分辨率及比例,Aegisub中可以调整ass字幕分辨率并正确处理fontsize和pos、\fs和\fsc等标签缩放,但MarginL, MarginR, MarginV等style无法正确处理(无需调整)。

回复

使用道具 举报

9

主题

168

回帖

507

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
119312
verdurewind  楼主| 发表于 2021-11-5 17:31:05 | 显示全部楼层
苏辰汐 发表于 2021-11-5 17:05
因为PlayResX、PlayResY参数是定义ass制作时匹配的参考分辨率,该ass中style指定的fontsize和pos、\fs和\fs ...

这回答太牛了,原来背后的机制这么复杂,我大概懂了,谢谢回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表