原开发过程以及详细原理已移除,本文不含低于v1.0.0的使用教程

前言

最开始是在酷安看到一篇有关Emby播放Strm文件的文章,后面楼主公开了代码,当时我还不太会Python(虽然现在还是不会)并且楼主也是通过ChatGPT写的,我也将我的需求提给ChatGPT迭代了几次,但后面发现想改掉之前写屎山代码的时已经改不掉了,于是着手重构

AutoFilm简介

通过Alist提供的Webdav获取网盘视频播放链接并生成Strm文件,可被Jellyfin/Emby等影音媒体服务器识别并直接播放

使用文档

当前文档适用版本:v1.0.0
若版本不同,具体功能实现可能会有差异

准备工作

  1. AutoFilm项目地址:https://github.com/Akimio521/AutoFilm,可以通过Git Clone或者打包下载的方式下载到本地
  2. 安装Python,推荐使用Python3.10及以上版本
  3. 安装依赖库:
        - 手动安装以下依赖:
            - webdavclient3 == 3.14.6
            - requests == 2.31.0
            - PyYAML == 6.0.1
        - 通过Pip安装:
           
    1
            pip install -r requirements.txt

配置Config文件

默认位置在AutoFilm/config/config.yaml仓库中已给出参考模板

  • setting
    • output_path:是以autofilm文件为基准,模板给出路径为AutoFilm/media/,可以填写绝对路径
    • l_threads:list_files线程数,这个和Alist服务器性能相关度交高,建议不要太高
    • p_threads:processing_file线程数,和生成Strm文件以及下载字幕、图片、nfo文件相关,与本地设备性能相关
    • subtitle:是否下载字幕(需要Alist服务器中存放字幕,AutoFilm当前版本不带搜索字幕功能)
    • img:是否下载图片(需要Alist服务器中已经刮削完成,AutoFilm当前版本不带刮削功能)
    • nfo:是否下载视频信息文件(需要Alist服务器中已经刮削完成,AutoFilm当前版本不带刮削功能)
  • webdav:下面是存放Webdav服务器信息的地方,可配置多个服务器
    • 标识名1:这个任意
      • url:Webdav服务器地址,需要协议头http(s),以/结尾
      • username:alist服务器的账号,需要开启webdav的权限
      • password:alist服务器的密码
        下面是参考的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
setting:
output_path: ./media/ # 输出路径
l_threads: 3 # list_files线程数
p_threads: 8 # processing_file线程数
subtitle: True # 是否下载字幕
img: False # 是否下载图片
nfo: True # 是否下载视频信息文件
webdav:
动漫A: # 任意字符,用于标识Webdav服务器
url: https://al.chirmyram.com/dav/ani/A/ # Webdav服务器URL
username: alist # Webdav账号
password: alist # Webdav密码
动漫B:
url: https://al.chirmyram.com/dav/ani/B/
username: alist
password: alist
电影A:
url: https://al.chirmyram.com/dav/mov/电影/A
username: alist
password: alist
我的Alist:
url: http://192.168.1.1:5244/dav/阿里云/
username: admin
password: adminadmin

YAML对缩进要求严格,请正确对齐

运行AutoFilm

回到AutoFilm的文件夹中,运行以下命令

1
python main.py

若需要指定配置配置文件可以通过参数config_path

1
python main.py --config_path './config/config-test.yaml'

若不指定配置文件,默认值为'./config/config.yaml'

可能会遇到的问题

暂无,欢迎反馈