Skip to content

EmbyServer/Jellyfin 中间件:优化播放 Strm 文件、自定义前端样式、自定义允许访问客户端、嵌入脚本,推荐配合AutoFilm使用

License

Notifications You must be signed in to change notification settings

Akimio521/MediaWarp

Repository files navigation

MediaWarp

MediaWarp 是前置于 EmbyServer/Jellyfin 的反向代理服务器,修改了原媒体服务器返回响应以实现特殊功能

license prs issues release docker

功能TODO LIST文档鸣谢Star History

功能

  • Strm 文件可以实现 302 直链播放,流量不经过 EmbyServer/Jellyfin

    • 推荐配合 AutoFilm 使用
    • 已通过测试客户端(Web、iOS Emby、Infuse、Conflux、Fileball、Vidhub)
    • 支持 Strm:
      • HTTPStrm:Strm 文件内容是 HTTP 链接,浏览器访问链接可以直接下载到视频文件(客户端需要可以访问到该链接,MediaWarp 不需要访问到该地址
      • AlistStrm:Strm 文件内容是 Alist 上的路径,需要拼接 Alist 的地址可以访问到文件(客户端无需访问到 Alist 服务器,仅需要 MediaWarp 可以访问到 Alist 服务器,但是需要可以访问到 Alist 服务器上文件的 raw_url 属性,如果使用网盘存储则无需在意这一点,但目前兼容性较差且不支持转码,通过挂载真实目录可以缓解这一问题
  • 屏蔽特定客户端访问

  • 自定义 Web 前端样式(HTML、CSS、JavaScript)

    • 效果演示:

      首页 电影 电视剧 danmaku 弹幕
  • 嵌入功能

    • ExternalPlayerUrl:调用外部播放器(仅 Emby)
    • crx:美化包 emby-crxjellyfin-crx
    • ActorPlus:隐藏没有头像的演员和制作人员
    • FanartShow:显示同人图(fanart 图)
    • Danmaku:Web 弹幕 EmbyJellyfin
    • BeautifyCSS:Emby 美化 CSS 样式(已移除,若有需求请实用通过自定义 Web.Head 功能实现)

TODO LIST

  • HTTPStrm 实现 302 重定向

  • 屏蔽特定客户端访问

  • 提供多种 Web 前端美化功能

  • AlistStrm 实现 302 重定向

  • 嵌入一些实用的 JavaScript 方便使用

  • 缓存图片、字幕提高性能(为避免内存泄漏问题已经暂时移除)

  • 多格式配置文件(优先级:JSON > TOML > YAML > YML > Java properties > Java props,格式参考config.yaml.example

  • 支持通过 --config 参数指定配置文件地址(默认在执行文件的目录下的 config 子目录中查询配置文件)

  • ART 字幕转 ASS 字幕(仅 Emby)

  • ASS 字幕字体子集化并嵌入字体

  • 适配 Emby

  • 适配 Jellyfin

  • 适配 Plex

  • 利用 Redis 做数据缓存

    需求不大,放弃,有需要可以直接使用 Nginx 或者其他反向代理工具的缓存

  • 多服务器转码推流

    需求不大,放弃

  • 利用 Mysql / PostgreSQL / Redis 优化 Infuse 媒体库模式下扫库体验

    有需要可以参考 MisakaFxxk/MisakaF_Emby/Infuse 自行实现

  • 多服务器负载均衡

    在服务器前面加一个负载均衡可能更好

相关文档

鸣谢

感谢一下人员、组织提供技术支持,仓库提供相关思路、脚本、前端样式。排名不分先后

Star History

Star History Chart

About

EmbyServer/Jellyfin 中间件:优化播放 Strm 文件、自定义前端样式、自定义允许访问客户端、嵌入脚本,推荐配合AutoFilm使用

Topics

Resources

License

Stars

Watchers

Forks