OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  nas-movie-download:通过 Jackett 自动搜索并下载电影至 NAS 设备

nas-movie-download:通过 Jackett 自动搜索并下载电影至 NAS 设备

 
  crestx ·  2026-02-04 14:46:10 · 17 次点击  · 0 条评论  

名称: nas-movie-download
描述: 通过 Jackett 和 qBittorrent 搜索并下载电影。适用于用户希望通过种子源下载电影或视频、搜索特定电影片名或管理电影下载的场景。现已包含通过 SMB 集成的自动字幕下载支持。


NAS 电影下载系统

一个使用 Jackett 进行种子搜索、qBittorrent 进行下载管理的自动化电影下载系统。

新功能:SMB 自动字幕下载! 🎬 下载完成后自动通过 SMB 为视频下载并上传字幕。

配置

环境变量

请设置以下环境变量以确保技能正常运行:

Jackett 配置:
- JACKETT_URL: Jackett 服务 URL(默认:http://192.168.1.246:9117)
- JACKETT_API_KEY: Jackett API 密钥(默认:o5gp976vq8cm084cqkcv30av9v3e5jpy)

qBittorrent 配置:
- QB_URL: qBittorrent Web UI URL(默认:http://192.168.1.246:8888)
- QB_USERNAME: qBittorrent 用户名(默认:admin)
- QB_PASSWORD: qBittorrent 密码(默认:adminadmin)

SMB 配置(用于字幕下载):
- SMB_USERNAME: SMB 用户名(默认:13917908083)
- SMB_PASSWORD: SMB 密码(默认:Roger0808)
- SMB_SERVER: SMB 服务器 IP(默认:192.168.1.246)
- SMB_SHARE: SMB 共享名称(默认:super8083)
- SMB_PATH: SMB 下载路径(默认:qb/downloads)

字幕配置:
- SUBTITLE_LANGUAGES: 默认字幕语言(默认:zh,en)

SMB 设置

SMB 配置已保存至 config/smb.env

cat config/smb.env

索引器设置

本技能与 Jackett 索引器协同工作。当前已配置的索引器包括:
- The Pirate Bay
- TheRARBG
- YTS

为确保最佳效果,请在你的 Jackett 安装中启用并配置这些索引器。

使用方法

搜索电影

仅搜索电影而不下载:

scripts/jackett-search.sh -q "Inception"
scripts/jackett-search.sh -q "The Matrix"
scripts/jackett-search.sh -q "死期将至"  # 支持中文电影名

仅下载电影

下载电影但不下载字幕:

scripts/download-movie.sh -q "The Matrix"

通过 SMB 自动下载字幕 🆕

完整流程:搜索 → 下载 → 自动下载字幕 → 上传到 SMB

# 下载电影并自动通过 SMB 下载字幕
scripts/download-movie.sh -q "Young Sheldon" --subtitle

# 指定字幕语言
scripts/download-movie.sh -q "Community" --subtitle --lang zh,en

参数说明:
- --subtitle: 启用自动字幕下载(通过 SMB)
- --lang: 指定字幕语言(默认:zh,en)

SMB 字幕下载(独立使用)

为 NAS 上已下载的视频通过 SMB 下载字幕:

# 为单个视频下载字幕
python3 scripts/smb-download-subtitle.py -f "movie.mkv"

# 为整个目录下载字幕
python3 scripts/smb-download-subtitle.py -d "qb/downloads/Movie Folder"

# 批量处理所有视频
python3 scripts/smb-download-subtitle.py --all

工作流程

完整下载流程

  1. 搜索电影:使用 Jackett 搜索种子
  2. 添加到 qBittorrent:自动添加最高质量的种子
  3. 等待下载完成:qBittorrent 将视频下载到 NAS
  4. 自动下载字幕:通过 SMB 连接到 NAS,为视频下载字幕
  5. 上传字幕:将字幕文件上传到 NAS 对应位置
┌─────────────┐    ┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│  Jackett    │───▶│ qBittorrent  │───▶│    NAS       │───▶│   字幕下载    │
│   搜索      │    │   下载       │    │  存储视频     │    │  SMB + subliminal│
└─────────────┘    └──────────────┘    └──────────────┘    └──────────────┘

脚本详情

jackett-search.sh

搜索 Jackett 中的种子。

参数:
- -q, --query: 搜索查询(必需)
- -u, --url: Jackett URL(可选,使用环境变量)
- -k, --api-key: API 密钥(可选,使用环境变量)

qbittorrent-add.sh

将种子添加到 qBittorrent。

参数:
- -m, --magnet: 磁力链接(必需)
- -u, --url: qBittorrent URL(可选,使用环境变量)
- -n, --username: 用户名(可选,使用环境变量)
- -p, --password: 密码(可选,使用环境变量)

download-movie.sh

一键搜索、下载并获取字幕。

参数:
- -q, --query: 电影名称(必需)
- -s, --subtitle: 启用通过 SMB 的自动字幕下载
- -l, --lang: 字幕语言(默认:zh,en)
- --quality: 画质偏好(4k, 1080p, 720p, any)

smb-download-subtitle.py 🆕

通过 SMB 为 NAS 上的视频下载字幕。

参数:
- -f, --file: 单个视频文件名(相对于 SMB 路径)
- -d, --directory: 目录路径(相对于 SMB 路径)
- -l, --lang: 字幕语言(默认:zh,en)
- --all: 处理 SMB 下载文件夹中的所有视频

示例:

# 单个视频
python3 scripts/smb-download-subtitle.py -f "Lilo And Stitch 2025.mkv"

# 整个文件夹
python3 scripts/smb-download-subtitle.py -d "qb/downloads/Movie Folder"

# 所有视频
python3 scripts/smb-download-subtitle.py --all

功能:
- 通过 SMB 连接到 NAS
- 使用 subliminal 搜索字幕
- 下载中英文字幕
- 将字幕上传到对应的视频文件夹
- 跳过已存在的字幕文件

提示与最佳实践

  • 使用英文电影名以获得更好的搜索结果
  • 如果搜索无结果,检查 Jackett 索引器状态
  • 监控 qBittorrent 以管理下载进度
  • SMB 字幕下载对于热门电影和电视剧效果最佳
  • 使用 python3 scripts/smb-download-subtitle.py --test 测试 SMB 连接
  • 对于电视剧:使用 --subtitle 标志为所有剧集自动下载字幕

故障排除

SMB 连接失败

  1. 验证 config/smb.env 中的 SMB 凭据
  2. 检查 NAS IP 地址:ping 192.168.1.246
  3. 确保 NAS 上的 SMB 服务正在运行
  4. 验证网络连通性

字幕下载问题

  1. 未找到字幕:尝试不同的语言代码,或者该视频可能没有可用的字幕
  2. subliminal 未安装pip3 install subliminal
  3. SMB 上传失败:检查 NAS 上的文件夹权限

权限问题

确保脚本具有执行权限:

chmod +x scripts/*.sh
chmod +x scripts/*.py

安全须知

  • 将 SMB 凭据安全地保存在 config/smb.env
  • 尽可能使用 HTTPS 连接
  • 考虑为种子流量设置 VPN
  • 监控 qBittorrent 是否存在未经授权的下载

依赖项

  • curl:用于 HTTP 请求
  • jq:用于 JSON 解析
  • python3pysmb:用于 SMB 操作
  • subliminal:用于字幕下载

安装依赖项:

apt-get install curl jq python3 python3-pip
pip3 install pysmb subliminal

更新日志

v3.0 - 2025-02-23

  • ✅ 新增 SMB 字幕下载支持
  • ✅ 新增 smb-download-subtitle.py 脚本
  • ✅ 将字幕下载集成到下载工作流中
  • ✅ 通过 SMB 自动上传字幕
  • ✅ 支持中英文字幕

v2.0 - 2025-02-17

  • ✅ 新增自动字幕下载支持
  • ✅ 新增 subtitle-download.sh 脚本
  • ✅ 更新 download-movie.sh,增加 -s-w 标志
  • ✅ 支持 OpenSubtitles API
  • ✅ 多语言字幕支持(zh-cn, en, ja, ko 等)
17 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 30 ms
Developed with Cursor