这个项目能做什么

Cliparr 是一款面向个人媒体服务器的精简媒体剪辑工具。它可让你快速创建并下载来自已连接 Plex 或 Jellyfin 服务器上正在播放的媒体、本地视频文件或在浏览器中打开的直链媒体 URL 的片段。 主要功能: - 即时会话发现:自动从已连接的 Plex 和 Jellyfin 提供商加载当前正在播放的媒体。 - 本地视频:在连接提供商之前或之后打开本地文件或直链媒体 URL。本地文件在浏览器中读取,不会上传到服务器。 - 时间轴编辑器:拖动媒体块选择片段,修剪任意一端,并在整个视频范围内缩放查看字幕时间。 - 浏览器转码:导出设置由 Mediabunny 驱动;GIF 使用 gifenc 编码。 - 元数据:视频导出可包含来自源的季、集和时间元数据。 - 字幕烧录:在 Chromium 中烧录受支持的字幕,支持自定义样式和本地字体。 部署与配置: - 通过 Docker 从 GitHub Container Registry 快速启动,暴露端口 7171 并挂载数据卷。 - 提供了 Docker Compose 示例用于持久化部署。 - 需要至少 32 个字符的稳定 APP_KEY 来加密静态存储的提供商凭据;更改后需要重新认证媒体服务器。 - 编辑器使用浏览器 WebCodecs,因此需要安全上下文(通过反向代理的 HTTPS,或 localhost/127.0.0.1)。 - 配置变量涵盖端口、SQLite 数据目录、日志级别、日志格式、日志文件轮转以及允许 Jellyfin 回环 URL 的选项。 - 在反向代理后端时,保留 Host 头并传递 X-Forwarded-Proto。Cliparr 信任回环、链路本地和局域网代理范围。 - 没有完整的应用级用户或权限系统;通过可信网络或经过认证的反向代理限制访问。 开发: - 克隆仓库,将 .env.example 复制为 .env 并设置 APP_KEY,使用 pnpm 安装,然后运行 pnpm dev。 - 可选的 Docker 开发栈会使用 Sintel(一部带有内嵌字幕轨道的 Blender 开源电影)为 Plex 和 Jellyfin 填充数据。 - 贡献指南见 .github/CONTRIBUTING.md。 许可证:MIT。