找回密码
 立即注册
查看: 299|回复: 5

【已解决】关于最近遇到的字幕闪烁问题

5

主题

29

回帖

578

VC币

金牌会员

Rank: 6Rank: 6

积分
37980

崭露头角

sys111 发表于 2026-3-15 00:24:26 | 显示全部楼层 |阅读模式
本帖最后由 sys111 于 2026-3-15 11:19 编辑

最近在使用potplayer的时候发现特定字幕会出现闪烁问题,具体情况是正常播放时字幕会在特定时间段闪烁一次,无其他任何状况,就是平白无故闪烁一下。虽然不是很影响观看体验,但总是这样还是挺糟心的。情况如下:
1.只限特定某一行字幕,进ass文件中也未发觉异常。
2.一开始认为是potplayer的问题,调了几次设置包括重新打开和重启电脑在指定字幕处还是会出现同一问题。(个人最近较忙,也可能是我未找到原因)
3.字体使用FontLoaderSub挂载,版本为论坛帖子最新一楼主帖最新一版,个人不知道是否与此有关。
4.使用Windows系统 Windows 11 专业工作站版25H2 26220.5770,potplayer版本为PotPlayer(64版)240618(1.7.22266),电脑配置可以看本人上个发布的帖子(是扰人帖就不带链接了())
并在此附上目前发现问题的字幕之一和演示视频(密码:4haq),字幕取自喵萌奶茶屋总之就是非常可爱第一季第六集(帖子链接
屏幕截图 2026-03-15 000422.png
问题处为:
  1. Dialogue: 0,0:22:02.43,0:22:04.60,Text-jp,,0,0,0,,旦那さん 優しい
  2. Dialogue: 1,0:22:02.43,0:22:04.60,Text-cn,,0,0,0,,丈夫好温柔
复制代码
麻烦各位大神告知问题原因,个人是苦比大四在赶毕设进度(TAT),每天最多上线一两次目前,有未告知的部分还请评论,本人上线时会及时回复,感谢。

问题字幕和演示视频.7z

18.66 MB, 下载次数: 20

回复

使用道具 举报

0

主题

109

回帖

12

VC币

星辰大海

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

积分
308123
萌新新 发表于 2026-3-15 02:01:19 | 显示全部楼层
本帖最后由 萌新新 于 2026-3-15 02:29 编辑

神奇,我用你那一截视频+你的或我的字幕就会闪,用我自己的视频+你的或我的字幕就不会闪

更新:诶不是,你这帧率有问题啊,35.362

再更:靠我服了,原来你这是录屏硬字幕
QQ截图20260315020820.jpg

点评

演示视频肯定是展示问题的嘛  发表于 2026-3-15 11:14

评分

参与人数 1活跃度 +666 收起 理由
sys111 + 666 (戳手)

查看全部评分

回复

使用道具 举报

20

主题

164

回帖

20

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
244783
op200 发表于 2026-3-15 02:13:32 | 显示全部楼层
potplayer 内置字幕解码器缓冲的 bug,这行字幕的后面有大量特效行,会触发这个 bug

将字幕设置的缓冲量改为 0 即可解决

评分

参与人数 1活跃度 +666 收起 理由
sys111 + 666 非常感谢

查看全部评分

回复

使用道具 举报

5

主题

29

回帖

578

VC币

金牌会员

Rank: 6Rank: 6

积分
37980

崭露头角

sys111  楼主| 发表于 2026-3-15 11:19:08 | 显示全部楼层
op200 发表于 2026-3-15 02:13
potplayer 内置字幕解码器缓冲的 bug,这行字幕的后面有大量特效行,会触发这个 bug

将字幕设置的缓冲量改 ...

感谢,重新设置后没在出现闪烁,很好奇为什么是特定的几行会出现,最开始的时候有尝试调整过缓冲量(但是没试过设置为0),结果不管设置为多少都是在同一行字幕出现问题,很好奇是为什么,单纯是因为特效过多就会触发还是有其他问题?
回复

使用道具 举报

20

主题

164

回帖

20

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
244783
op200 发表于 2026-3-15 14:27:42 | 显示全部楼层
sys111 发表于 2026-3-15 11:19
感谢,重新设置后没在出现闪烁,很好奇为什么是特定的几行会出现,最开始的时候有尝试调整过缓冲量(但是 ...

我猜 potplayer 是先把字幕文件丢给自己的解码器解码后,再根据设置编码一遍,然后把编码后的 ass 丢给 filter,但它不是整个文件重编码,而是渲染哪行重编码哪行,所以有缓冲设置,额外重编码 n 行

假设当前对话字幕 a 的时轴是从第1帧到第4帧,特效字幕 b 的时轴是从第2帧到第4帧,如果第2帧的行数超过缓冲量,则第2帧会丢弃第1帧的缓冲,也就把 a 丢了,第3帧的时候检测到需要渲染 a,就又把 a 渲染回来了

也就是说它本应该先从缓冲中拿数据、再移除缓冲,而它写成了直接移除缓冲,它也没有做移除的时轴检测,把时轴没有结束的行也移除了,这两点只要有一点做到了就不会导致丢失一帧

当然也可能是更唐的代码逻辑导致的这个bug,例如可能它压根就没考虑过行数超过缓冲应该怎么处理
回复

使用道具 举报

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

本版积分规则

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