GNU General Public License v3.0

项目介绍

hienao/ostrm 是一个托管在 GitHub 上的开源项目,主要使用 Java 编写,采用 GNU General Public License v3.0 许可证,目前获得 155 个 Star、19 次 Fork。

仓库全名
hienao/ostrm
开源许可证
GNU General Public License v3.0
Star 数
155
Fork 数
19
未关闭 Issue
2

README 摘要

快速开始 · 完整文档 · 更新日志 · 加入 Telegram 群组 · 问题反馈 这是什么 OStrm 是一个面向 OpenList 影音库的自托管 Web 应用。它扫描远端目录,为视频生成轻量 .strm 文件,并可同步字幕、NFO、海报与背景图,让 Jellyfin、Emby 等媒体服务器无需搬运原始视频也能整理媒体库。 自动生成:按 OpenList 原有目录结构输出 STRM 文件 智能整理:可选 TMDB 刮削与 AI 文件名识别,补齐 NFO 和图片 持续更新:支持 Cron 定时、增量更新、全量更新与孤立文件清理 媒体库联动:任务完成后可通知 Emby 或 Jellyfin 刷新全部或指定媒体库 结果通知:通过 Apprise 将任务、手动刮削和媒体库刷新结果发送到多个渠道 灵活适配:支持 Base URL 替换、URL 编码控制和多个 OpenList 配置 可视管理:在 Web…

完整内容见 GitHub 原始 README 或本页 。

常见问题

ostrm 用什么语言开发?

主要使用 Java 编写,采用 GNU General Public License v3.0 许可证,目前有 155 个 Star。

ostrm 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 ostrm 的源码?

可以直接克隆仓库:git clone https://github.com/hienao/ostrm.git,默认分支为 main;安装与运行步骤见仓库 README。

ostrm 最近还在维护吗?

仓库最近一次更新为 8月18日,当前有 2 个未关闭 Issue;Star 数为 155,可作为社区活跃度的参考。

关于

一个为OpenList提供媒体文件Strm生成服务的工具

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
193
价值分
98
活跃状态
活跃

语言占比

CSS
Dockerfile
Java
JavaScript
Python
Shell
TypeScript
Vue

Release

贡献者

README

OStrm 将 OpenList 影音目录转换为媒体库可直接使用的 STRM 文件

最新版本 Docker 拉取次数 GitHub Stars GPL-3.0 许可证

快速开始 · 完整文档 · 更新日志 · 加入 Telegram 群组 · 问题反馈

这是什么

OStrm 是一个面向 OpenList 影音库的自托管 Web 应用。它扫描远端目录,为视频生成轻量 .strm 文件,并可同步字幕、NFO、海报与背景图,让 Jellyfin、Emby 等媒体服务器无需搬运原始视频也能整理媒体库。

  • 自动生成:按 OpenList 原有目录结构输出 STRM 文件
  • 智能整理:可选 TMDB 刮削与 AI 文件名识别,补齐 NFO 和图片
  • 持续更新:支持 Cron 定时、增量更新、全量更新与孤立文件清理
  • 媒体库联动:任务完成后可通知 Emby 或 Jellyfin 刷新全部或指定媒体库
  • 结果通知:通过 Apprise 将任务、手动刮削和媒体库刷新结果发送到多个渠道
  • 灵活适配:支持 Base URL 替换、URL 编码控制和多个 OpenList 配置
  • 可视管理:在 Web 界面创建任务、查看进度、筛选日志
  • 便于部署:Docker Compose 一次启动,数据与输出目录持久化

实际界面

OpenList 配置管理 编辑 OpenList 配置
OStrm OpenList 配置管理界面 OStrm OpenList 配置完整表单

工作方式

OpenList 影音目录
      ↓ 扫描与过滤
生成 .strm 文件
      ↓ 可选处理
字幕复制 · NFO/图片复用 · TMDB/AI 刮削
      ↓
Jellyfin / Emby 等媒体库

首次运行可执行全量生成;后续使用增量模式和 Cron 定时任务,只处理新增或变化的内容。媒体资料按“本地已有 → OpenList 同目录 → 在线刮削”的顺序获取,减少重复请求。

快速开始

准备一台已安装 Docker 的设备,以及一个可访问的 OpenList 服务。创建 docker-compose.yml:

services:
  ostrm:
    image: hienao6/ostrm:latest
    container_name: ostrm
    ports:
      - "3111:80"
    volumes:
      - ./data/config:/maindata/config
      - ./data/db:/maindata/db
      - ./logs:/maindata/log
      - ./strm:/app/backend/strm
    restart: always

启动服务:

docker compose up -d

打开 http://localhost:3111,注册账号并完成:

  1. 添加 OpenList 配置并测试连接。
  2. 创建转换任务,选择源目录和 STRM 输出路径。
  3. 首次执行全量生成,日常任务切换为增量更新。

更完整的部署、升级和故障排查步骤请查看快速开始指南。

可选能力

能力 用途 配置指南
TMDB / AI 刮削 规范媒体名称,生成 NFO、海报和背景图 AI 识别配置
STRM Base URL 为媒体服务器改写 STRM 中的访问地址 Base URL 配置
URL 编码控制 处理中文路径、空格和特殊字符 URL 编码配置
Emby / Jellyfin 刷新 STRM 生成后刷新全部媒体库,或按媒体库 ID 精确刷新 在“系统设置”添加服务器,再在任务中选择刷新范围
Apprise 通知 推送任务与手动刮削终态、失败分类和完整路径 在“系统设置 → 任务通知”中配置
日志与排错 查看任务处理链和失败原因 日志说明

技术组成

Nuxt 3 + Vue 3 + Tailwind CSS
              ↓
Spring Boot + MyBatis + Quartz
              ↓
       SQLite + 文件系统

运行环境使用 Java 21,生产镜像由 Docker 多阶段构建并通过 Caddy 提供 Web 服务。开发环境和目录结构请参阅参与开发。

文档与支持

许可证

本项目采用 GNU General Public License v3.0。你可以使用、修改和分发本项目;衍生作品需要继续采用相同许可证,并保留版权与变更说明。本项目不提供任何担保。

评论

暂无评论