Izumiko / jellyfin-danmaku

Jellyfin danmaku extension
MIT License
130 stars 12 forks source link

期望可以自定义弹幕速度和密度 #9

Closed Xarth-Mai closed 9 months ago

Xarth-Mai commented 9 months ago

默认配置在PC端体验很好 但是在iOS端不太友好 弹幕多的时候占据了大半个屏幕 而且飘走的速度有点废眼睛 IMG_2850 本来想写个pr的 突然发现想起来我不会写代码

Izumiko commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

Xarth-Mai commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

我在iOS上比较经常遇到加载失败 log显示卡在UI初始化 你也会这样吗

Geeksun2018 commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

我在iOS上比较经常遇到加载失败 log显示卡在UI初始化 你也会这样吗

这个问题我在新版本中修复了,目前定位到的原因是token失效了,我增加了个重试机制,应该会解决大部分问题。

Xarth-Mai commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

我在iOS上比较经常遇到加载失败 log显示卡在UI初始化 你也会这样吗

我发现切换过滤等级时的reload可以解决这个问题,也许可以在初始化或者其他什么时候来个reload?

以及在看电影的时候因为没有集数 需要手动搜索设置为第一集 也许可以硬编码默认集数为1避免这个问题 @Izumiko

Izumiko commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

我在iOS上比较经常遇到加载失败 log显示卡在UI初始化 你也会这样吗

我遇到这个情况的时候,划掉jellyfin的后台然后重开能加载。或者我手动添加弹幕源的时候,也能够继续往后执行。估计是缺了啥检测的机制

Xarth-Mai commented 9 months ago

我遇到这个情况的时候,划掉jellyfin的后台然后重开能加载。或者我手动添加弹幕源的时候,也能够继续往后执行。估计是缺了啥检测的机制

我也是重开浏览器解决 刚刚突然发现加的那条reload好使

Izumiko commented 9 months ago

现在想加的自定义功能有点多,你说的这两个我也有些需求,但最近有些忙,弄的会比较慢

我在iOS上比较经常遇到加载失败 log显示卡在UI初始化 你也会这样吗

我发现切换过滤等级时的reload可以解决这个问题,也许可以在初始化或者其他什么时候来个reload?

以及在看电影的时候因为没有集数 需要手动搜索设置为第一集 也许可以硬编码默认集数为1避免这个问题 @Izumiko

电影的话对应这里: https://github.com/Izumiko/jellyfin-danmaku/blob/cda19d96c0ee898830c42ab113e15ba2d9dd1b97/ede.js#L521C18-L521C18

按说已经按照API的说明设置成movie的值了

Xarth-Mai commented 9 months ago

@lzumiko image 我感觉完全被当成普通番剧处理了 是因为我的jellyfin媒体库设置的是混合吗 image

Izumiko commented 9 months ago

估计是了,代码里判断类型用的是Jellyfin返回的item类型,混合的话判断的应该不够准

Xarth-Mai commented 9 months ago

估计是了,代码里判断类型用的是Jellyfin返回的item类型,混合的话判断的应该不够准

那这个咋办😭感觉还是写个第一集做fallback

Izumiko commented 9 months ago

你看看混合内容返回的item.Type是啥,可以根据这个加一个判断

Xarth-Mai commented 9 months ago

弹幕信息那个按钮在safari上好像完全没用 在edge上也是时灵时不灵 要不整合进log按钮那里吧 不然播放器底部的按钮太多了都要溢出来了

Izumiko commented 9 months ago

弹幕信息那个按钮在safari上好像完全没用 在edge上也是时灵时不灵 要不整合进log按钮那里吧 不然播放器底部的按钮太多了都要溢出来了

估计是没获取到通知权限。

随着功能增加,其实该重构一下了,原作者那里之前在搞,只不过最近他好像搁置了。 增加一个设置面板,把设置项全放里面更合适点。最终效果应该类似另一个不开源的emby弹幕插件 https://danmaku.movie.kg/

Xarth-Mai commented 9 months ago

弹幕信息那个按钮在safari上好像完全没用 在edge上也是时灵时不灵 要不整合进log按钮那里吧 不然播放器底部的按钮太多了都要溢出来了

估计是没获取到通知权限。

随着功能增加,其实该重构一下了,原作者那里之前在搞,只不过最近他好像搁置了。 增加一个设置面板,把设置项全放里面更合适点。最终效果应该类似另一个不开源的emby弹幕插件 https://danmaku.movie.kg/

我是在safari把网站添加到桌面变成了一个App 也确实问我要了通知权限 我是有给的 但是没啥用

Xarth-Mai commented 9 months ago

image 电影还是不太正常

Xarth-Mai commented 9 months ago

image 电影还是不太正常

@lzumiko

image 这个高度限制一横屏就不大正常了

Izumiko commented 9 months ago

image 电影还是不太正常

电影这个因为我没混合内容的库,估计需要进一步测试

Izumiko commented 9 months ago

image 电影还是不太正常

@lzumiko

image 这个高度限制一横屏就不大正常了

高度限制那个我测试时是当画面尺寸改变,当前在屏幕上的弹幕不会改变,新出现的才会遵循新的尺寸,你看看是不是这样

Xarth-Mai commented 9 months ago

这个高度限制一横屏就不大正常了

高度限制那个我测试时是当画面尺寸改变,当前在屏幕上的弹幕不会改变,新出现的才会遵循新的尺寸,你看看是不是这样

行数是变少了 但是不是置顶的emmm

Izumiko commented 9 months ago

这个高度限制一横屏就不大正常了

高度限制那个我测试时是当画面尺寸改变,当前在屏幕上的弹幕不会改变,新出现的才会遵循新的尺寸,你看看是不是这样

行数是变少了 但是不是置顶的emmm

弹幕容器的parentNode没有置顶,我忘记当初为啥选这个了,印象中选那个置顶的貌似显示不出来?😂

Xarth-Mai commented 9 months ago

弹幕容器的parentNode没有置顶,我忘记当初为啥选这个了,印象中选那个置顶的貌似显示不出来?😂

现在这个设置设置完会自动暂停视频,好像是加了这个高度修改后才有的

Izumiko commented 9 months ago

弹幕容器的parentNode没有置顶,我忘记当初为啥选这个了,印象中选那个置顶的貌似显示不出来?😂

现在这个设置设置完会自动暂停视频,好像是加了这个高度修改后才有的

点播放进入播放界面就暂停?我这里没遇到

Xarth-Mai commented 9 months ago

弹幕容器的parentNode没有置顶,我忘记当初为啥选这个了,印象中选那个置顶的貌似显示不出来?😂

现在这个设置设置完会自动暂停视频,好像是加了这个高度修改后才有的

点播放进入播放界面就暂停?我这里没遇到

不是 是点了那个昨天新加的那个弹幕设置大小速度完会自动有个暂停 原本我刚加reload那版不会 好像是reload上一行那个设置高度那一句的特性 原本设置透明度也会有个暂停 我用reload代替原本的直接设置透明度就没有暂停了 以及现在这个居中弹幕太太太太抽象image

Izumiko commented 9 months ago

我在电脑端设置完倒是不会暂停,现在iPad不在身边,也不好测移动端的。

弹幕的wrapper样式没写对,漏了absolute和top,现在改了

Xarth-Mai commented 9 months ago

我在电脑端设置完倒是不会暂停,现在iPad不在身边,也不好测移动端的。

试了下 只有手机会自动暂停,但是问题不大 一个船新的问题 有时候UI初始化完底部所有按钮包括Jellyfin原生的按钮都不能点击了 在Edge和Safari都触发了

Izumiko commented 9 months ago

我在电脑端设置完倒是不会暂停,现在iPad不在身边,也不好测移动端的。

试了下 只有手机会自动暂停,但是问题不大 一个船新的问题 有时候UI初始化完底部所有按钮包括Jellyfin原生的按钮都不能点击了 在Edge和Safari都触发了

有可能是弹幕那层元素把按钮那里挡住了,我在打开浏览器的控制台使得网页显示区域很扁的时候遇到过,但正常播放时没发现。你在Edge里右键点击不能按的区域,然后检查,看看定位到的是哪个元素

Xarth-Mai commented 9 months ago

已经测出来了 是
wrapper = document.createElement('div'); wrapper.id = 'danmakuWrapper'; wrapper.style.position = 'absolute'; wrapper.style.width = '100%'; wrapper.style.height = window.ede.heightRatio * 100 + '%'; wrapper.style.top = '0'; wrapper.style.overflow = 'hidden'; _container.appendChild(wrapper); 挡在了网页最前面

Izumiko commented 9 months ago

已经测出来了 是 wrapper = document.createElement('div'); wrapper.id = 'danmakuWrapper'; wrapper.style.position = 'absolute'; wrapper.style.width = '100%'; wrapper.style.height = window.ede.heightRatio * 100 + '%'; wrapper.style.top = '0'; wrapper.style.overflow = 'hidden'; _container.appendChild(wrapper); 挡在了网页最前面

果然是加的这个弹幕容器,修改了一下插入位置