简单来说,AutoFilm 就是一个连接你的 Alist 和 Emby/Jellyfin 的桥梁。它通过 Alist 获取网盘里的视频直链,然后生成一个
.strm
文件。Emby/Jellyfin 就能直接读取这个文件,实现流畅播放!
AutoFilm 的核心功能在于生成 Strm 文件。 Strm 文件是一个简单的文本文件,其中包含了视频的直接播放地址。 Emby/Jellyfin 等媒体服务器能够直接读取 Strm 文件中的地址,无需转码或中转,从而实现流畅播放。
相比传统的播放方式,使用 AutoFilm 和 Strm 文件有以下优势:
AutoFilm 的部署非常简单,推荐使用 Docker,当然,你也可以用 Python 部署。
docker run -d \
--name autofilm \
-v ./config:/config \
-v ./media:/media \
-v ./logs:/logs \
akimio/autofilm
使用 Docker Compose 的话,可以创建一个 docker-compose.yml
文件:
services:
autofilm:
image: akimio/autofilm
container_name: autofilm
volumes:
- ./config:/config
- ./media:/media
- ./logs:/logs
restart: unless-stopped
然后运行 docker-compose up -d
即可。
首先,你需要安装 Python,推荐使用 Python 3.12。
然后,克隆项目并进入项目目录:
git clone https://github.com/Akimio521/AutoFilm.git
cd AutoFilm
pip install -r requirements.txt
配置 config.yaml
文件 (稍后会详细介绍)。
启动程序:
python app/main.py
配置文件 config.yaml
是 AutoFilm 的核心,这里是一个示例:
Settings:
DEV: False # 是否开启开发者模式
Alist2StrmList:
- id: 动漫
cron: "0 20 * * *"
url: https://your.alist.domain # Alist地址
username: admin # Alist用户名
password: password # Alist密码
source_dir: /ani/ # Alist上文件夹路径
target_dir: /mnt/media/ # AutoFilm上的路径
flatten_mode: false # 平铺模式,开启后关闭subtitle、image、nfo
subtitle: false # 是否下载字幕文件
image: false # 是否下载图片文件
nfo: false # 是否下载 .nfo
raw_url: false # 是否使用原始地址替换 Alist 服务器下载地址
overwrite: false # 覆盖模式,本地路径存在同名文件时是否重新生成/下载该文件
other_ext: "" # 自定义下载后缀,多个用逗号分隔
max_workers: 5 # 下载文件最大并发数(默认 5)
- id: 电影
cron: "0 0 7 * *"
url: https://your.alist.domain
username: admin
password: password
target_dir: /mnt/my_video/
flatten_mode: false
subtitle: false
image: false
nfo: false
raw_url: true
overwrite: false
other_ext: "zip,md"
max_workers: 5
Ani2AlistList: #新番追更
- id: 新番追更
cron: "20 12 * * *"
url: https://your.alist.domain
username: admin
password: password
target_dir: /视频/动漫/新番
rss_update: false # 使用 RSS 订阅更新最新番剧,启用后忽视传入的 year 和 month
year: 2024 # 动漫季度-年份
month: 7 # 动漫季度-月份
src_domain: aniopen.an-i.workers.dev
rss_domain: api.ani.rip
Alist2StrmList
模块这个模块负责生成 .strm
文件,你可以配置是否下载字幕、图片、nfo 等。
cron
: 定时任务,例如 "0 20 * * *"
表示每天晚上 8 点运行。- source_dir
: Alist 上需要转换的视频路径。target_dir
: .strm
文件的输出路径,flatten_mode
: 启用后只生成 .strm
文件,其他文件不下载。overwrite
: 是否覆盖已存在的 .strm
文件。raw_url
: 是否使用原始直链替换 Alist 链接。Ani2Alist
模块 (动漫爱好者看过来!)这个模块配合 ANI Open 项目使用,可以自动把动漫资源挂载到 Alist 上。
cron
: 定时任务。target_dir
: 动漫资源在 Alist 上的存放路径。rss_update
: 是否使用 RSS 订阅更新番剧。year
/month
: 指定更新哪个季度的番剧。AutoFilm 真的是一个宝藏工具!它让 Emby/Jellyfin 播放更加流畅,而且配置简单,功能强大。赶紧试试吧!
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!