Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望标题能显示danmaku-delay弹幕延迟 #77

Closed
MiKoto-Railgun opened this issue Nov 22, 2024 · 20 comments · Fixed by #79
Closed

希望标题能显示danmaku-delay弹幕延迟 #77

MiKoto-Railgun opened this issue Nov 22, 2024 · 20 comments · Fixed by #79

Comments

@MiKoto-Railgun
Copy link
Contributor

MiKoto-Railgun commented Nov 22, 2024

我之前是用uosc.conf下的

top_bar_alt_title=${?media-title:${!chapters==0:章节:(${chapters}):${chapter}}${?chapters==0:章节:无} | 播放列表:${playlist-pos-1}/${playlist-count} ${!sub-visibility==no:| 字幕延迟:${sub-delay}} ${!secondary-sub-visibility==no:| 弹幕延迟:${secondary-sub-delay}} | 播放进度:${playback-time/full}/${duration/full} (${percent-pos}%)}

也就是用次字幕延迟secondary-sub-delay的方式在标题下面显示弹幕延迟

top_bar_alt_title=${?media-title:${!chapters==0:章节:(${chapters}):${chapter}}${?chapters==0:章节:无} | 播放列表:${playlist-pos-1}/${playlist-count} ${!sub-visibility==no:| 字幕延迟:${sub-delay}} | 弹幕延迟:${danmaku-delay} | 播放进度:${playback-time/full}/${duration/full} (${percent-pos}%)}

但是现在用danmaku-delay就不行了,会显示error
这一命令所在代码块显示它不保存弹幕延迟数字,应该创建一个参数保存数据
希望danmaku-delay或其他参数能显示延迟数
最好是弹幕延迟不为零时再显示弹幕延迟

@Tony15246
Copy link
Owner

Tony15246 commented Nov 22, 2024

top_bar_alt_title=${?media-title:${!chapters==0:章节:(${chapters}):${chapter}}${?chapters==0:章节:无} | 播放列表:${playlist-pos-1}/${playlist-count} ${!sub-visibility==no:| 字幕延迟:${sub-delay}} | 弹幕延迟:${danmaku-delay} | 播放进度:${playback-time/full}/${duration/full} (${percent-pos}%)}

Property Expansion能够获取到值的变量应该都是property,但是据我所知在插件的角度好像没有办法给mpv自定义一个property出来。而现有的原生property既然被定义出来了,那占用mpv原生的property拿来存弹幕延迟的数据给uosc.conf引用肯定也不合适。我暂时没有想到一个合理的解决方案。

经测试通过各种方式,包括使用script-opts来添加的option,均不能作为property被Property Expansion获取到。

You can access (almost) all options as properties

看来mpv官方文档里说的这个option似乎是不包含自定义出来的option的

@dyphire 这个问题大佬您有解决思路吗?

@Tony15246
Copy link
Owner

Tony15246 commented Nov 22, 2024

mpv-player/mpv#10732 (comment)

看来似乎的确无法自定义一个property,只有script-opts可以自定义设置,但script-opts设置出来的option又不能作用于Property Expansion。感觉这个问题没有理论上可行的解决办法了。

除非强行将其他property抢占过来作为弹幕延迟的表示,但这种方式太粗暴太destructive了

@Tony15246
Copy link
Owner

应该创建一个参数保存数据

@MiKoto-Railgun 最新的代码中已添加此参数,名称为user-data/uosc_danmaku/danmaku-delay,使用方法和你用secondary-sub-delay是一样的

最好是弹幕延迟不为零时再显示弹幕延迟

这个自己通过${!NAME==VALUE:STR}这个形式的Property Expansion语法就能实现,比如说写成这样

${!user-data/uosc_danmaku/danmaku-delay==0:弹幕延迟:${user-data/uosc_danmaku/danmaku-delay}}

@2650951697
Copy link

应该创建一个参数保存数据

@MiKoto-Railgun 最新的代码中已添加此参数,名称为user-data/uosc_danmaku/danmaku-delay,使用方法和你用secondary-sub-delay是一样的

最好是弹幕延迟不为零时再显示弹幕延迟

这个自己通过${!NAME==VALUE:STR}这个形式的Property Expansion语法就能实现,比如说写成这样

${!user-data/uosc_danmaku/danmaku-delay==0:弹幕延迟:${user-data/uosc_danmaku/danmaku-delay}}

具体如何操作呢?

@2650951697
Copy link

还有就是 我设了快捷键加减弹幕延迟不生效怎么办啊 我设的是alt+1 1秒 和alt+2 -1秒

@2650951697
Copy link

应该创建一个参数保存数据

@MiKoto-Railgun 最新的代码中已添加此参数,名称为user-data/uosc_danmaku/danmaku-delay,使用方法和你用secondary-sub-delay是一样的

最好是弹幕延迟不为零时再显示弹幕延迟

这个自己通过${!NAME==VALUE:STR}这个形式的Property Expansion语法就能实现,比如说写成这样

${!user-data/uosc_danmaku/danmaku-delay==0:弹幕延迟:${user-data/uosc_danmaku/danmaku-delay}}

具体如何操作呢?

这个我操作好了 按照楼主的操作把位置那栏改了 我是想了半天不知道咋操作原来是按楼主的来

@2650951697
Copy link

我是下的人型电脑天使心里的一个资源第二集的弹幕是有延迟的 好几秒的延迟 第一集和第三集就没有 第二集是播放了好几秒才出弹幕

@MiKoto-Railgun
Copy link
Contributor Author

danmaku

看一下你这段代码是怎么甚至的

@2650951697
Copy link

image

@2650951697
Copy link

我把冲突键的给删了一部分

@MiKoto-Railgun
Copy link
Contributor Author

MiKoto-Railgun commented Dec 22, 2024

直接写成 ALT+1 script-message danmaku-delay +1 试试,括号没必要

@2650951697
Copy link

直接写成 ALT+1 script-message danmaku-delay +1 试试,括号没必要

好了好了 感谢 已解决 直接复制粘贴有点榆木脑袋了

@2650951697
Copy link

还有一个问题好像是自动播放下一集了显示弹幕延迟和上一集一样但是实际是归零的 需要重新设置

@Tony15246
Copy link
Owner

还有一个问题好像是自动播放下一集了显示弹幕延迟和上一集一样但是实际是归零的 需要重新设置

是个小问题,user-data/uosc_danmaku/danmaku-delay属性的值是在设置之后才会刷新的,没有考虑到自动播放下一集的使用场景。后续会修复这个问题。

@2650951697
Copy link

还有一个问题好像是自动播放下一集了显示弹幕延迟和上一集一样但是实际是归零的 需要重新设置

是个小问题,user-data/uosc_danmaku/danmaku-delay属性的值是在设置之后才会刷新的,没有考虑到自动播放下一集的使用场景。后续会修复这个问题。

okok 这个问题还好 就是我纯小白不知道怎么看当前着色器面板有哪些啊 就是当前配置了哪些 那个是osd还是什么吗 快捷键是哪一个啊

@Tony15246
Copy link
Owner

btw,只是user-data/uosc_danmaku/danmaku-delay的值显示有问题,没有及时更新。弹幕延迟延迟归零,需要重新设置是正常逻辑。

@2650951697
Copy link

btw,只是user-data/uosc_danmaku/danmaku-delay的值显示有问题,没有及时更新。弹幕延迟延迟归零,需要重新设置是正常逻辑。

我看弹幕开关设置能延续我还以为这个也是能延续的呢

@2650951697
Copy link

还有一个问题好像是自动播放下一集了显示弹幕延迟和上一集一样但是实际是归零的 需要重新设置

是个小问题,user-data/uosc_danmaku/danmaku-delay属性的值是在设置之后才会刷新的,没有考虑到自动播放下一集的使用场景。后续会修复这个问题。

okok 这个问题还好 就是我纯小白不知道怎么看当前着色器面板有哪些啊 就是当前配置了哪些 那个是osd还是什么吗 快捷键是哪一个啊

这个找到了 不用了

@Tony15246
Copy link
Owner

okok 这个问题还好 就是我纯小白不知道怎么看当前着色器面板有哪些啊 就是当前配置了哪些 那个是osd还是什么吗 快捷键是哪一个啊

我暂时没看懂你的问题是什么意思😂

我现在实在是困得不行了,得先睡了,还有别的问题我明天再帮你看看

@2650951697
Copy link

okok 这个问题还好 就是我纯小白不知道怎么看当前着色器面板有哪些啊 就是当前配置了哪些 那个是osd还是什么吗 快捷键是哪一个啊

我暂时没看懂你的问题是什么意思😂

我现在实在是困得不行了,得先睡了,还有别的问题我明天再帮你看看

好的 大佬晚安

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants