什么是strm?
strm 文件是一种非常小巧的文本文件,里面保存了指向在线视频的链接地址。它的大小通常只有几十字节,因此占用的存储空间非常少。
这种文件可以用来指向各种视频资源,比如网上的流媒体内容或本地存储的视频文件。它适合用来管理大量的网络存储媒体资源。例如在播放 STRM 文件时,可以直接通过链接播放网盘中的视频,而不用把视频下载到本地设备上。这样既方便又节省空间,同时还能保证播放流畅。
轻量化 Emby 服务器,降低 Emby 服务器的性能需求以及硬盘需求
运行稳定
相比直接访问 Webdav,Emby、Jellyfin 服务器可以提供更好的视频搜索功能以及自带刮削器,以及多设备同步播放进度。
为什么使用123strm?
25年6月alist被曝疑似被收购以后,普遍比较担心使用的安全性。详细情况可前往github查看相关issue。123云盘也发公告表示于6.16暂停支持alist挂载。
于是有了本软件的诞生,目的为取消alist依赖,使用123云盘的官方api进行处理,安全稳定。
使用123云盘官方api,安全可靠,不依赖第三方
单线程下载,自动跳过已存在图片和字幕等文件,不会重复下载
可配置海报、字幕、nfo文件是否下载
自动清理本地不存在于123云盘的文件
项目地址
https://github.com/knifezred/123strm
部署方式
config配置
# https://www.123pan.com/developer 注册获取
clientID: ""
clientSecret: ""
# 123盘文件夹的ID
# 浏览器打开对应文件夹https://www.123pan.com/?homeFilePath=1312389
# homeFilePath后的最后一串数字就是该文件夹的ID。如要配置根目录,直接设置为0
rootFolderId: "0"
# 输出路径
targetDir: "/media/"
# 定时任务cron表达式,不配置则默认为每天凌晨1点执行
cron: "0 10 * * *"
# 平铺模式,开启后 subtitle、image、nfo 强制关闭(可选,默认 False)
flatten_mode: False
# strm路径前缀,可设置为cd2挂载的目录或者123盘webdav挂载的路径,需要加上对应设置的rootFolder的文件夹目录
# 如:选择的rootFolder为 /影视剧/电视剧,cd2映射的路径为 /volume1/docker/cloud_nas/123云盘
# 则pathPrefix为 /volume1/docker/cloud_nas/123云盘/影视剧/电视剧
pathPrefix: "/volume1/docker/cloud_nas/123云盘/影视剧"
# 是否下载字幕文件(可选,默认 False)
subtitle: True
# 是否下载图片文件(可选,默认 False)
image: True
# 是否下载 .nfo 文件(可选,默认 False)
nfo: True
# 视频文件最小限制,低于该大小的视频不处理,默认为100Mb
minFileSize: 104857600
docker本地包
github下载:https://github.com/knifezred/123strm/releases/tag/v0.1
自行打包镜像
# 生成docker镜像
docker build -t 123strm .
# 生成本地镜像包
docker save -o 123strm.tar 123strm
# 压缩镜像包减小体积
gzip 123strm.tar
compose安装:以绿联Nas为例
将打包的镜像包传到nas,并在docker-镜像-本地镜像-添加镜像中选择并导入。
添加完镜像后在项目一栏选择创建项目,将compose示例填入配置,项目名称和路径可自行填写,建议为123strm
。
services:
autofilm:
image: 123strm:latest
container_name: 123strm
network_mode: host
volumes:
- /volume1/docker/123strm/config:/config
- /volume1/docker/123strm/media:/media
restart: always
working_dir: /app
environment:
PUID: "0"
PGID: "0"
直接运行python脚本
前往github克隆项目到本地,直接pyhton app/main.py
即可。
使用效果
看到如下信息即表示软件正常运行,等待执行即可。
运行时会提供日志,显示下载文件地址。