关于ass字幕中的PlayResX、PlayResY参数的问题
PlayResX、PlayResX这两个值感觉是控制字体分辨率的,为什么这两个值越高,字体越小;我把这两个值设成和我手机屏幕分辨率(2K分辨率的)一致,在手机上播放1080p的视频,感觉字幕有点小,然后多次测试,结果发现这两个值要是越高,字体就越小;要是把PlayResX、PlayResY分别设成1280和720,感觉字幕大小正好,为什么会这样?本帖最后由 孤雨独火 于 2021-11-5 05:31 编辑
这两参数在字幕设计时就固定死了,不应该在每次播放时手动改。
只改这两可能产生大量奇奇怪怪的问题,比如坐标相关的全部偏离了设计初衷
面向不同分辨率的设备缩放匹配应该完全是播放器(字幕渲染器)的任务{:4_686:}
这个代码和/fs字体大小有什么区别吗? 孤雨独火 发表于 2021-11-5 05:26
这两参数在字幕设计时就固定死了,不应该在每次播放时手动改。
只改这两可能产生大量奇奇怪怪的问题,比如 ...
嗯,受教了,我对字幕设计不是很懂。我是把B站的弹幕下载到本地做成ass字幕播放,手机播放器是mxplayer,结果全屏幕都是弹幕,没法看视频,试过在mxplayer里修改字号和比例,然而对这弹幕不生效,还是原来的大小。后来发现改这两参数有用,所以疑惑来了,不懂这两个值为什么越高字体就越小,感觉有点反常识 囧
chrislong 发表于 2021-11-5 09:45
这个代码和/fs字体大小有什么区别吗?
我不懂这个字幕设计的,看看有没有大佬回答吧{:4_686:}
这个类似显示器的渲染分辨率。你要改字幕字体大小需要改 ass 里 Style 里的 Fontsize
https://i.loli.net/2021/11/05/b7MU3cNlDq2tv6y.png StarRingChild 发表于 2021-11-5 14:41
这个类似显示器的渲染分辨率。你要改字幕字体大小需要改 ass 里 Style 里的 Fontsize
...
感谢回复,我试试修改下fontsize
因为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无法正确处理(无需调整)。
苏辰汐 发表于 2021-11-5 17:05
因为PlayResX、PlayResY参数是定义ass制作时匹配的参考分辨率,该ass中style指定的fontsize和pos、\fs和\fs ...
这回答太牛了,原来背后的机制这么复杂,我大概懂了,谢谢回复
页:
[1]