IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    诺多发表于 2025-01-15 23:20:57
    love 0

    简单来说,AutoFilm 就是一个连接你的 Alist 和 Emby/Jellyfin 的桥梁。它通过 Alist 获取网盘里的视频直链,然后生成一个 .strm 文件。Emby/Jellyfin 就能直接读取这个文件,实现流畅播放!

    ✨ AutoFilm 的魔力:Strm 文件与直链播放 ✨

    AutoFilm 的核心功能在于生成 Strm 文件。 Strm 文件是一个简单的文本文件,其中包含了视频的直接播放地址。 Emby/Jellyfin 等媒体服务器能够直接读取 Strm 文件中的地址,无需转码或中转,从而实现流畅播放。

    相比传统的播放方式,使用 AutoFilm 和 Strm 文件有以下优势:

    • 告别卡顿: 直接播放原始视频文件,无需缓冲,享受流畅的观影体验。
    • 节省服务器资源: Emby/Jellyfin 无需进行转码等操作,大大减轻服务器负担。
    • 支持多种网盘: 通过 Alist,AutoFilm 能够支持各种主流网盘,方便快捷。
    • 自动化更新: 配合定时任务,AutoFilm 能够自动更新 Strm 文件,保持资源库最新。

    🛠️ 如何部署 AutoFilm?🛠️

    AutoFilm 的部署非常简单,推荐使用 Docker,当然,你也可以用 Python 部署。

    🐳 Docker 部署 (强烈推荐!)

    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 部署

    1. 首先,你需要安装 Python,推荐使用 Python 3.12。

    2. 然后,克隆项目并进入项目目录:

    git clone https://github.com/Akimio521/AutoFilm.git
    cd AutoFilm
    
    1. 安装依赖:
    pip install -r requirements.txt
    
    1. 配置 config.yaml 文件 (稍后会详细介绍)。

    2. 启动程序:

    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 播放更加流畅,而且配置简单,功能强大。赶紧试试吧!

    原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

    高等精灵实验室



沪ICP备19023445号-2号
友情链接