Automated Anime Tracking: From AutoBangumi Back to qBittorrent RSS

Introduction

AutoBangumi is an “RSS-based fully automated anime tracking and download tool” (hereinafter referred to as AB), which is very suitable for users like me who use both qBittorrent (hereinafter referred to as QB) and Jellyfin. After using AB to track anime for a season, I have gained a deeper understanding of AB, Jellyfin, and concepts such as RSS and scraping. Although AB provides automation, it also increases the complexity of the tracking process, especially when AB encounters issues.

Based on my past experiences with the QB RSS feature and combined with my new understanding, I chose to stop using AB and instead use QB RSS. Although this adds a few more steps for tracking new anime each season, the overall system complexity and resource usage are reduced. Overall, I am satisfied with this change.

Automated Anime Tracking Workflow

flowchart LR
subgraph g1[RSS Subscriber]
a1[AB] ~~~ a2[QB]
end
subgraph g2[RSS Downloader]
b1[AB] ~~~ b2[QB]
end
subgraph g3[torrent Downloader]
c1[QB] ~~~ c3[Transmission]
end
subgraph g4["Post-Download Tasks (Optional)"]
d1[Email Notification] ~~~ d2[Rename Downloaded Videos] ~~~ d3[Make Hard Links]
end

subgraph g5["Jellyfin (Plugins) Scraping"]
e1[Bangumi] ~~~  e2[AniDB] ~~~ e3[TMDB]
end
g1-->g2-->g3-->g4-->g5

As shown, the automated anime tracking workflow consists of five steps:

  1. RSS Subscriber: By subscribing to RSS feeds from sites like Mikan, we can get information about each episode of an anime (the most important being the torrent information). The role of the RSS subscriber is to periodically fetch the latest content, which is more commonly used for retrieving new articles.
  2. RSS Downloader: Based on the new episode information obtained by the RSS subscriber, it will download those anime. The RSS downloader knows which episodes have already been downloaded and which are not, so it always downloads the latest episodes.
  3. Torrent Downloader: Nothing needs to be introduced here.
  4. Post-Download Tasks (Optional): The scope of post-download tasks is extensive. Here are some possible tasks:
    • QB can be set to “run an external program when a torrent is completed” to execute any function via scripts, such as sending email notifications.
    • Software like AB and Sonarr can update video names after downloading to make them suitable for scraping.
    • If the download directory and the Jellyfin media directory are separate, to save hard drive’s life, we can make hard links of the video files in the media directory instead of moving the video files themselves. (Hard links can only be used within the same file system)
  5. Jellyfin (Plugin) Scraping: Jellyfin periodically scans the media library, and if the user opts for automatic scraping (i.e., fetching metadata from the web), Jellyfin will try to get metadata based on the video names (which may fail). This functionality is provided by Jellyfin plugins, with TMDB being the default, but Bangumi and AniDB often perform better.

Role of AB

When subscribing to a new anime, first obtain the RSS link and then click “Add RSS”: alt text

Then we can see the information about the anime on the homepage: alt text

AB automatically subscribes to the RSS and adds a new rule in the RSS downloader. When a new episode is available, the RSS downloader downloads the video to Anime Directory/Anime Name/Season 1/. After the download is complete, AB renames the video.

  • Anime Directory is pre-configured in AB, which is the QB download directory;
  • Anime Name/Season 1/ is automatically generated by AB to conform to the Jellyfin media library structure;
  • Video renaming is done automatically by AB to facilitate Jellyfin scraping;

We can see that AB is indeed highly automated, achieving automation between “RSS links and torrent downloader” and “torrent downloader and Jellyfin”. However, in actual use, I did not enable the video renaming feature, and Jellyfin could still accurately recognize the videos. Therefore, AB to me is just a convenient RSS subscriber and downloader.

Use QB RSS to Replace AB

After understanding the role of AB, it is not difficult to realize that the QB RSS feature can replace AB. The benefits are obvious:

  • The components in the system are reduced, lowering resource usage and complexity;
  • QB RSS subscriber can display existing anime information, whereas AB cannot;
  • QB RSS downloader is more powerful;

The only drawback is the inability to display anime posters, which is acceptable.

The process to subscribe to a new anime with QB is as follows:

  1. Subscribe to the anime’s RSS link: alt text
  2. Create a new rule in the RSS downloader: alt text
    • Rule definition: for example, only 1080p or only Simplified Chinese subtitles;
    • Save to other directory: Like AB’s setup, set it to Anime Directory/Anime Name/Season 1/. If it’s the second season, use Season 2;
    • Select the RSS subscription rule we just created;
    • Click save;

The minimum granularity of Mikan’s RSS link is a tuple of (bangumiId, subgroupid), i.e., (anime, subtitle group). Of course, we can also choose the RSS link determined by bangumiId, which will include all subtitle groups.

A download rule is bound to an anime, so it can include multiple subtitle groups. But how will Jellyfin recognize multiple videos of the same episode? I have not tried this yet.