Giter Site home page Giter Site logo

jellyfin-danmaku's People

Contributors

izumiko avatar pre-commit-ci[bot] avatar randomnamer avatar xarth-mai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

jellyfin-danmaku's Issues

[BUG]无法获取用户的session信息

jellyfin 版本是docker,10.8.12,jellyfin-danmaku版本是最新版。
不太确定是不是因为没获取到session的信息导致无法查询到视频对应的弹幕。
8468f076d6344c902b5d6523605dda7
322bc3af29cde1d04a57724c3c6843b

一种更新更优雅的服务端持久化侧载脚本实现

使用Nginx反向代理Jellyfin并在location块中插入:

#禁用与后端压缩并侧载脚本
proxy_set_header Accept-Encoding "";
sub_filter '</body>' '<script src="https://jellyfin-danmaku.pages.dev/ede.user.js" defer></script></body>';
sub_filter_once on;

即可由Nginx完成代码插入并移交浏览器处理:

image
Edge

更完整的Nginx配置实例:

    location / {
        proxy_pass http://127.0.0.1:8096;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        # 在流式传输时禁用缓冲
        proxy_buffering off;
    }

    location = /web/index.html {
        proxy_pass http://127.0.0.1:8096/web/index.html;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        # 禁用与后端压缩并侧载脚本
        proxy_set_header Accept-Encoding "";
        sub_filter '</body>' '<script src="https://jellyfin-danmaku.pages.dev/ede.user.js" defer></script></body>';
        sub_filter_once on;
    }
    
        location /socket {
        proxy_pass http://127.0.0.1:8096;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

[UR/FR] Add authentication method when add danmaku from URL 在手动添加弹幕源时,为个别网站添加账号密码验证,使用Cookies?

Is your feature request related to a problem? Please describe.
当自动识别不到弹幕,需要手动找弹幕源时:
有些视频网站必须登录后才能获取到弹幕,直接输入视频url返回0弹幕

Describe the solution you'd like
填入cookies来验证身份, 发送GET请求的时候附上Cookies信息?
也可以根据网站的Domain来对应别处理, 比如识别输入的url是 *.acfun.cn.

A clear and concise description of what you want to happen.
成功通过网站验证,获取到只有登录用户才能观看的视频弹幕

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context
不熟悉JavaScript,不知道是否有难度和可行性?

Add any other context or screenshots about the feature request here.
例子:https://www.acfun.cn/v/ac10077196_3

[UR/FR]对Jellyfin Windows PC客户端的支持

希望能够支持PC端的Jellyfin客户端。

PC端的Jellyfin客户端主界面采用本地文件中的资源,index.html等文件存储在程序安装目录Jellyfin\Jellyfin Media Player\web-client\desktop中,可以直接在本地使用文本编辑器进行修改,从而加入脚本。

不过,直接加入本项目脚本会因为本地的资源路径和浏览器上访问的不一致(例如web/index.html在本地是web-client/desktop/index.html),这导致该脚本无法正常在播放界面显示。

本人不会JavaScript(入门都没入ヽ(*。>Д<)o゜)不知道怎么修改,因此希望在这个issue里给作者一个可行的思路,看看是否能成((

在桌面客户端项目仓库的README.md中有Web Debugger的连接方法,可以看看

[BUG]Firefox CORS Error

Version

  • jellyfin version latest
  • jellyfin-danmaku version latest

Describe the bug
image
Firfox 中使用 jellyfin-danmaku 会报 CORS 错误

To Reproduce
使用任意方法开启均会引起,在 edge/chrome 中均无问题已经尝试过 油猴/ NGINX 方法。在Firefox中单独访问 api 接口能够返回正常。

[BUG]@match失效

为什么不能@match无法匹配到jellyfin的主页呀?@match :///*/web/index.html,这个应该是能匹配到的,好奇怪。
我尝试在docker上直接修改html文件,发现并不是总能生效,只能强制指定当前jellyfin的主页。

docker和systemd下的持久化侧载以及sed命令的修改

考虑到我管理的服务器中转发方案并非 nginx 或 caddy ,也有直接使用 ip 进行访问不使用转发的需求, #8 中的方案无法直接使用,但给予了我灵感,在每次 jellyfin 启动前先进行文件的修改也能完成持久化侧载。调试过程中发现 readme 所给的 sed 命令重复运行会重复插入,故稍作更改,增加了</div>的识别片段以避免js的重复插入。

将 docker 容器的启动参数在原来 /init 的基础上增加 sed 部分,即可实现每次docker启动时自动修改html文件。

hotio/jellyfin 的容器内html文件地址为例,将 /init 改为如下即可:

sed -i 's#</div></body>#</div><script src="https://jellyfin-danmaku.pages.dev/ede.user.js" defer></script></body>#' /usr/share/jellyfin/web/index.html && /init

对于官方的容器如下:

sed -i 's#</div></body>#</div><script src="https://jellyfin-danmaku.pages.dev/ede.user.js" defer></script></body>#' /jellyfin/jellyfin-web/index.html && /jellyfin/jellyfin

另外,使用 systemd 自动运行 jellyfin 也可类似的进行修改,将 execstart 进行覆盖即可。

ExecStart = sed -i 's#</div></body>#</div><script src="https://jellyfin-danmaku.pages.dev/ede.user.js" defer></script></body>#' /usr/share/jellyfin/web/index.html && /usr/bin/jellyfin $JELLYFIN_WEB_OPT $JELLYFIN_RESTART_OPT $JELLYFIN_FFMPEG_OPT $JELLYFIN_SERVICE_OPT $JELLYFIN_NOWEBAPP_OPT $JELLYFIN_ADDITIONAL_OPTS

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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.