Files
qemby/README.md

5.8 KiB
Raw Permalink Blame History

qEmby Logo

qEmby

面向 Arch Linux 的 Emby / Jellyfin 桌面客户端

License: MIT Platform: Arch Linux Qt 6 C++20

qEmby 是一个使用 Qt 6 / C++20 编写的 Emby、Jellyfin 桌面客户端,内置基于 libmpv 的播放器,并针对 Arch Linux 桌面环境维护。

当前项目只维护 Arch Linux 版本。Windows 专属逻辑已经移除macOS 和 Windows 不作为发布目标。

截图

首页 影片详情

设置 管理仪表盘

功能

  • 浏览 Emby / Jellyfin 媒体库,支持电影和剧集视图。
  • 内置 libmpv 播放器,支持 VAAPI、VDPAU、CUDA 和软件解码选项。
  • 支持外部播放器MPV、VLC、MPC-Qt。
  • 支持播放进度同步、连续播放、上一集 / 下一集和播放完成画廊。
  • 支持弹幕搜索、手动匹配、缓存、ASS 管线和原生弹幕渲染。
  • 支持媒体详情、元数据编辑、媒体识别、图片更新和播放列表管理。
  • 支持下载管理器、全局搜索、搜索历史、深色 / 浅色主题。
  • 支持服务器管理仪表盘和 WebDAV 配置同步。
  • 支持中文、英文、法语界面。

平台支持

平台 状态
Arch Linux x86_64 维护中
其他 Linux 发行版 可自行编译,未作为发布目标
Windows / macOS 不维护

安装

推荐使用 pacman 仓库安装。先一键添加 qEmby 仓库:

grep -q '^\[qemby\]' /etc/pacman.conf || printf '\n[qemby]\nSigLevel = Optional TrustAll\nServer = https://gitea.mygoband.com/carrydela/qemby-repo/raw/branch/main/$arch\n' | sudo tee -a /etc/pacman.conf >/dev/null

刷新数据库并安装:

sudo pacman -Syy
sudo pacman -S qemby

确认仓库配置:

grep -A2 '^\[qemby\]' /etc/pacman.conf

也可以从 Gitea Releases 下载普通发布包后手动安装:

sudo pacman -U qemby-0.0.6-1-x86_64.pkg.tar.zst

启动:

qemby

卸载:

sudo pacman -R qemby

如果原生 Wayland 下遇到窗口或 OpenGL 兼容性问题,可以临时使用 XCB 后端:

QEMBY_FORCE_XCB=1 qemby

发布给普通用户时,应先按下文重新构建安装包,然后上传生成的普通包:

packaging/arch/qemby-0.0.6-1-x86_64.pkg.tar.zst

不要把 qemby-debug-*.pkg.tar.zst 当作普通安装包分发;它体积更大,主要用于调试符号。

从源码构建

安装构建依赖:

sudo pacman -S --needed \
  base-devel git cmake ninja pkgconf \
  qt6-base qt6-tools qt6-svg qt6-websockets \
  mpv qcoro spdlog fmt hicolor-icon-theme

克隆仓库:

git clone --recursive <你的 Gitea 仓库地址> qEmby
cd qEmby

配置并构建:

cmake -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DQEMBY_USE_SYSTEM_DEPS=ON \
  -DQEMBY_FETCHCONTENT_FALLBACK=OFF

cmake --build build

直接运行开发构建:

./build/bin/qEmbyApp

构建 Arch 安装包

本仓库包含本地发布用的 PKGBUILD

git archive --format=tar.gz --prefix=qEmby-0.0.6/ \
  -o packaging/arch/qemby-0.0.6.tar.gz HEAD

cd packaging/arch
makepkg -f

安装刚生成的包:

sudo pacman -U qemby-0.0.6-1-x86_64.pkg.tar.zst

如果希望一边构建一边安装:

makepkg -fi

发布流程

  1. 确认版本号:CMakeLists.txtpackaging/arch/PKGBUILD 中的版本应一致。
  2. 从当前提交生成源码包并构建 Arch 安装包:
git archive --format=tar.gz --prefix=qEmby-0.0.6/ \
  -o packaging/arch/qemby-0.0.6.tar.gz HEAD

cd packaging/arch
makepkg -f
  1. 本地安装并启动测试:
sudo pacman -U qemby-0.0.6-1-x86_64.pkg.tar.zst
qemby

也可以直接测试开发构建:

cd ../..
cmake --build build
./build/bin/qEmbyApp
  1. 在 Gitea 创建版本标签,例如 v0.0.6
  2. 上传 qemby-0.0.6-1-x86_64.pkg.tar.zst 作为 Release 附件。
  3. 在 Release 说明中写清楚安装命令:
sudo pacman -U qemby-0.0.6-1-x86_64.pkg.tar.zst

项目结构

qEmby/
├── CMakeLists.txt
├── cmake/
├── libs/
│   └── qwindowkit/
├── packaging/
│   └── arch/
│       ├── PKGBUILD
│       └── README.md
├── screenshots/
└── src/
    ├── qEmbyCore/      # API、模型、服务、配置
    └── qEmbyApp/       # Qt Widgets 桌面应用

技术栈

组件 说明
UI 框架 Qt 6 Widgets
语言 C++20
播放器 libmpv
异步 QCoro
日志 spdlog
窗口框架 QWindowKit
构建系统 CMake + Ninja
打包 Arch PKGBUILD

反馈

请通过 Gitea Issues 反馈问题。提交问题时建议附上:

  • qEmby 版本。
  • 桌面环境和会话类型,例如 KDE Wayland、GNOME Wayland、X11。
  • 复现步骤。
  • 终端启动日志。

许可证

本项目基于 MIT License 开源。

致谢