TMM Advanced Banner

TinyMediaManager 进阶:批量整理、自动化流程与 Docker 无人值守

前两篇讲了 TMM 是什么和怎么装,这篇来点进阶的——怎么把 TMM 玩出花来。

如果你已经有几百上千部电影,手动一部一部刮削是不现实的。真正的用法是建立一套自动化流程:文件入库 → 自动识别 → 自动刮削 → 自动整理 → 媒体服务器自动刷新。

TMM 为这个流程提供了三样武器:命令行HTTP APIDocker 自动化


一、命令行模式

大多数人用 TMM 都是打开图形界面点来点去。但 TMM 也支持全命令行操作——这对服务器环境和无头 NAS 来说非常关键。

基础用法

Bash
# 查看所有可用参数
./tinyMediaManager --help

核心命令:

Bash
# 更新所有媒体源(扫描新文件)
./tinyMediaManager --updateSources

# 刮削所有未刮削的电影
./tinyMediaManager --scrapeUnscraped

# 刮削并重命名
./tinyMediaManager --scrapeUnscraped --rename

# 仅重命名
./tinyMediaManager --rename

# 生成 NFO
./tinyMediaManager --export

搭配 cron 实现定时自动刮削

把 TMM 丢到 crontab 里,每天晚上自动刮削当天新增的电影:

Bash
# 每天凌晨 3 点自动刮削
0 3 * * * /opt/tinymediamanager/tinyMediaManager --scrapeUnscraped --rename >> /var/log/tmm.log 2>&1

配合 Docker 版也是一样的逻辑:

Bash
0 3 * * * docker exec tmm tinyMediaManager --scrapeUnscraped --rename >> /var/log/tmm.log 2>&1

注意:命令行模式默认不启动图形界面,因此可以安全地在 headless 服务器上运行。


二、HTTP API

TMM v5 开始提供了 HTTP API,可以通过 HTTP 请求远程触发操作。

启用 API

设置 → 通用 → HTTP API 中:

  1. 勾选「启用 HTTP API」
  2. 设置 API 端口(默认 8080)
  3. 设置 API Key(用于鉴权)

常用 API 调用

Bash
# API Key
API_KEY="your-api-key"
TMM_HOST="localhost:8080"

# 更新所有媒体源
curl -X POST "http://${TMM_HOST}/api/tmm/updatesources?api_key=${API_KEY}"

# 刮削未刮削的电影
curl -X POST "http://${TMM_HOST}/api/tmm/scrapeunscraped?api_key=${API_KEY}"

# 查询状态
curl "http://${TMM_HOST}/api/tmm/status?api_key=${API_KEY}"

# 查询媒体库统计
curl "http://${TMM_HOST}/api/tmm/statistics?api_key=${API_KEY}"

和下载工具联动

这是最爽的用法——下载完成后自动通知 TMM 刮削。

以 qBittorrent 为例,下载完成后的 webhook 或者外部脚本中:

Bash
#!/bin/bash
# /opt/scripts/torrent-done.sh
# qBittorrent 下载完成后调用

# 等待文件写入完成
sleep 30

# 通知 TMM 更新媒体源并刮削
curl -s -X POST "http://localhost:8080/api/tmm/updatesources?api_key=${API_KEY}"
curl -s -X POST "http://localhost:8080/api/tmm/scrapeunscraped?api_key=${API_KEY}"

# 通知 Emby 刷新媒体库
curl -s -X POST "http://localhost:8096/emby/Library/Refresh?api_key=${EMBY_API_KEY}"

这一套连起来的效果就是:电影下载完成 → TMM 自动刮削 → Emby 自动刷新 → 电视上直接能看。

全程无人干预。


三、Docker 无人值守方案

如果你的 TMM 跑在 Docker 里,配合 cron 或者 systemd timer,可以实现完全自动化。

完整的 Docker 自动化部署

Yaml
version: "2.1"
services:
  tmm:
    image: tinymediamanager/tinymediamanager:latest
    container_name: tmm
    environment:
      - USER_ID=1000
      - GROUP_ID=1000
      - ALLOW_DIRECT_VNC=true
      - LC_ALL=zh_CN.UTF-8
      - LANG=zh_CN.UTF-8
      - PASSWORD=your_v...rd
      - TZ=Asia/Shanghai
    volumes:
      - ./tmm_data:/data         # TMM 配置和数据
      - /mnt/media/movies:/media/movies
      - /mnt/media/tvshows:/media/tv_shows
      - ./scripts:/scripts       # 挂载自动化脚本
    ports:
      - 5900:5900
      - 4000:4000
    restart: unless-stopped

定时任务脚本

在宿主机的 crontab 中:

Bash
# 每天凌晨 2 点刮削新电影
0 2 * * * docker exec tmm /scripts/scrape.sh

scrape.sh 的内容:

Bash
#!/bin/bash
# Docker 容器内运行的 TMM 命令行
export DISPLAY=:0
/opt/tinyMediaManager/tinyMediaManager --scrapeUnscraped --rename

# 刮削完成后通知 Emby 刷新
curl -s -X POST "http://emby:8096/emby/Library/Refresh?api_key=${EMBY_API_KEY}"

四、批量整理技巧

命名规范

TMM 的命名模板功能非常强大。在 设置 → 电影 → 重命名 中,可以自定义文件和目录的命名规则。

我个人的推荐配置:

Bash
目录命名:{title} ({year})
文件命名:{title} ({year}) - [{vf}]

示例输出:

Bash
/media/movies/盗梦空间 (2010)/
  盗梦空间 (2010) - [1080p].mkv

/media/movies/星际穿越 (2014)/
  星际穿越 (2014) - [2160p].mkv

这样的命名方式清晰、媒体服务器兼容性最好。

系列归类

选中一部或多部电影 → 右键 → 添加到系列。可以新建系列(如「漫威电影宇宙」)或加入已有系列。

TMM 会自动从 TMDB 拉取系列的海报和简介,整理后 Emby/Jellyfin 中会显示为合集。

批量更换海报

如果你对某些电影的海报不满意:

  1. 选中多部电影
  2. 点击「搜索并刮削」
  3. 在艺术作品选项卡中,选择你喜欢的海报版本
  4. 应用到全部选中影片

过滤与搜索

TMM 支持高级筛选:

  • 按已刮削/未刮削筛选
  • 按分辨率筛选(1080p / 4K)
  • 按评分、年份、类型筛选
  • 按标签筛选

这些筛选在批量操作时非常有用——比如「选出所有 4K 未刮削的电影,一次性处理」。


五、常见进阶问题

如何迁移到新服务器?

TMM 的所有配置和数据都在 ~/.tinyMediaManager/(Linux)或 TMM 数据目录下。

迁移时只需复制这个目录和你的媒体文件,在新机器上解压 TMM 就能接着用。

同时管理多台服务器的媒体库?

TMM 支持多个媒体源。你可以:

  • 添加 /mnt/disk1/movies/mnt/disk2/movies 两个源
  • TMM 会合并展示,统一刮削
  • 生成 NFO 后,各台媒体服务器各自扫描自己的目录

TMM 和 Sonarr/Radarr 冲突吗?

不冲突。TMM 管元数据,Sonarr/Radarr 管下载管理。

一套推荐的组合拳:

  1. Radarr/Sonarr:自动下载电影/剧集
  2. TMM:对已下载的文件进行元数据刮削和整理
  3. Emby/Jellyfin:读取 NFO 展示

各司其职,互不干扰。


总结

TMM 的进阶用法核心就一个思路:让机器替你干活。

  • 命令行 + cron → 定时无人刮削
  • HTTP API + 下载工具 webhook → 下载完自动刮削
  • Docker + 定时脚本 → 服务器上稳定跑

一旦整套流程跑通,你的媒体库维护就变成了「扔文件进去,其他的 TMM 搞定」。

家庭影院的终极体验,不是设备多好,而是打开电视就能看,什么都不用想。

最后修改: 2026年7月6日

作者

评论

发表评论

您的邮箱地址不会被公开。