dheerajbred / animdl

A highly efficient, fast, powerful and light-weight anime downloader and streamer for your favorite anime.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation

Installation of animdl can be done using:

python -m pip install git+https://www.github.com/justfoolingaround/animdl

Note that you need to have git installed, else, you would need to download the repository and then, use:

python -m pip install .

Support: Python 3.6 and higher

Installing mpv

Windows:

  • The easiest way to install mpv is by using chocolatey package manager, it's an amazing tool can that be installed by following their official documentation.
  • After chocolatey is installed, mpv can be installed through a console window (For example: cmd) with an admininstrator priviledge by the command: choco install mpv.

Linux:

  • For users using a Debian-based distro, mpv can be installed using sudo apt install mpv.
  • For users using an Arch-based distro, mpv can be installed using sudo pacman -S mpv.

Mac:

  • mpv can be installed using brew install mpv.

Core features

  • Abuses the developer's knowledge of internal streaming mechanisms in various different sites to hunt down high quality stream links.
  • Doesn't make a single unnecessary request; the official site may make 1k requests, this tool makes 3~5.
  • Doesn't use any heavy dependencies such as Selenium or Javascript Evaluators.
  • Effectively bypasses DRMs in several streaming sites.
  • Integrates powerful, fast and efficient internal HLS downloader.
  • Only tool in existence to bypass 9Anime's cloudflare protection.
  • Operates with full efficiency and speed by using Python's generator functions to their full capacity.
  • Supports downloading with Internet Download Manager optionally.
  • Supports optional downloading with ffmpeg (see Using ffmpeg).
  • Supports streaming with mpv, iina and vlc (see Streaming)

Usage

Usage: animdl [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  download  Download your favorite anime by query.
  grab      Stream the stream links to the stdout stream for external usage.
  schedule  Know which animes are going over the air when.
  search    Search for an anime in the provider.
  stream    Stream your favorite anime by query.
  test      Test the scrapability power.

Examples:

Streaming One Piece's episode 1 on AnimePahe by placing a search forehand:

  • animdl stream "one piece" -r 1
    

Streaming One Piece's episode 1 on AnimeOut by placing a search forehand:

  • animdl stream "animeout:one piece" -r 1
    

Streaming One Piece's episode 1 on AnimeOut directly:

  • animdl stream "https://www.animeout.xyz/download-one-piece-episodes-latest/" -r 1
    

Downloading and grabbing is the same as the examples, except the download and the grab command should be used.

Note: Downloading will take place in the working directory of this project!

Range / -r option

-r is a command created to select ranges.

1-10 will select from 1 to 10, 10- will select everything after 10 and -10 will select everything before 10.

Instead of -, : and . will also work.

For example:

20 12 10-3 40-50

will select episodes from 3 to 10 (inclusive), 12, 20 and from 40 to 50 (inclusive).

Supported Sites

Website Searcher Prefix Available Qualities Status Content Fetch Speed
(Per Episode)
Content Extension
9Anime 9anime 720p, 1080p

3.27s

MP4 / TS
AllAnime allanime 720p, 1080p

0s

MP4 / TS
AnimePahe animepahe 720p, 1080p

4.15s

MP4
AnimeOut animeout 720p, 1080p

0s

MKV
Animixplay animixplay 480p, 720p, 1080p

4.17s

MP4 / TS
Animtime No searcher included 720p, 1080p

0s

MP4
Crunchyroll crunchyroll All

0s

TS
Kawaiifu (NSFW) kawaiifu 720p, 1080p

0s

MP4
GogoAnime gogoanime 480p, 720p, 1080p

2.34s

MP4 / TS
Nyaa nyaa All

0s

Torrent
Haho (NSFW) haho 720p, 1080p

0s

MP4
Tenshi tenshi 720p, 1080p

0s

MP4
Twist twist 720p, 1080p

0s

MP4
Zoro zoro 720p, 1080p

0s

MP4

More sites?

Currently, there are no plans to add more sites as AnimDL supports top sites that stream anime. However, this does not mean that this is it for the sites. You can raise as many issues as possible for requesting a new site.

Note: Your request may be denied in case of Cloudflare protections and powerful anti-bot scripts in the site.

Streaming

Streaming will require either mpv or vlc. You will require these to be in your PATH, if not, simply make a animdl_config.yml on the working directory and add these configurations appropriately:

players:
  mpv:
    executable: "mpv"
    opts: []
  vlc:
    executable: "vlc"
    opts: []
  iina:
    executable: "iina-cli"
    opts: []

Using ffmpeg

ffmpeg can be used with animdl using the config file.

use_ffmpeg: true

This config will make the downloader use ffmpeg for HLS streams.

ffmpeg is set as optional because:

  • It is ridiculously slow, the internal HLS downloader has higher speeds.
  • It makes this project partially heavy-weighted.
  • stderr stream reading for cases such as mpd when using tqdm did not work.

Disclaimer

The disclaimer of this project can be found here.

About

A highly efficient, fast, powerful and light-weight anime downloader and streamer for your favorite anime.


Languages

Language:Python 100.0%