Major update of README.md
This commit is contained in:
parent
eb7de600c1
commit
44a66286cb
150
README.md
150
README.md
@ -1,69 +1,121 @@
|
||||
# CrunchyRoll.js
|
||||
|
||||
*CrunchyRoll.js* is capable of downloading *anime* episodes from the popular
|
||||
*CrunchyRoll* streaming service. An episode is stored in the original video format
|
||||
(often H.264 in a MP4 container) and the configured subtitle format (ASS or
|
||||
SRT).The two output files are then merged into a single MKV file.
|
||||
*CrunchyRoll.js* is capable of downloading *anime* episodes from the popular *CrunchyRoll* streaming service. An episode is stored in the original video format (often H.264 in a MP4 container) and the configured subtitle format (ASS or SRT).The two output files are then merged into a single MKV file.
|
||||
|
||||
## Motivation
|
||||
|
||||
*CrunchyRoll* has been providing an amazing streaming service and offers the
|
||||
best way to enjoy *anime* in a *convenient* and *legal* way. As a streaming
|
||||
service, video files cannot be downloaded and watched offline. Understandable
|
||||
from a business perspective and considering possible contract implications, but
|
||||
annoying for users. This application enables episodes to be downloaded for
|
||||
offline convenience. Please do not abuse this application; download episodes for
|
||||
**personal use** and **delete them** if you do not have an active premium
|
||||
account. Continue to support *CrunchyRoll*; without our financial backing their
|
||||
service cannot exist!
|
||||
*CrunchyRoll* has been providing an amazing streaming service and offers the best way to enjoy *anime* in a *convenient* and *legal* way. As a streaming service, video files cannot be downloaded and watched offline. Understandable from a business perspective and considering possible contract implications, but annoying for users. This application enables episodes to be downloaded for offline convenience. Please do not abuse this application; download episodes for **personal use** and **delete them** if you do not have an active premium account. Continue to support *CrunchyRoll*; without our financial backing their service cannot exist!
|
||||
|
||||
## Legal Warning
|
||||
|
||||
This application is not endorsed or affliated with *CrunchyRoll*. The usage of
|
||||
this application enables episodes to be downloaded for offline convenience which
|
||||
may be forbidden by law in your country. Usage of this application may also
|
||||
cause a violation of the agreed *Terms of Service* between you and the stream
|
||||
provider. A tool is not responsible for your actions; please make an informed
|
||||
decision prior to using this application.
|
||||
|
||||
## Status
|
||||
|
||||
### Implemented
|
||||
|
||||
* Subtitle decoding.
|
||||
* Subtitle converter for SRT subtitle output.
|
||||
* Video streaming.
|
||||
* Episode page scraping with subtitle saving and video streaming.
|
||||
* Add ASS support.
|
||||
* Add muxing (MP4+ASS=MKV).
|
||||
* Add series API to save an entire series rather than per-episode.
|
||||
* Add support for incremental saves.
|
||||
* Add batch-mode to queue a bunch of series.
|
||||
* Add CLI interface with all the options.
|
||||
* Support scheduled merging; if it fails now, the video is probably being watched.
|
||||
* Add authentication to the entire stack to support premium content.
|
||||
* Binary runner for `npm`
|
||||
* Windows examples with a .bat for ease of use.
|
||||
* Publish to `npm` with a fixed package.json.
|
||||
* Conversion to beautiful TypeScript 1.4 code.
|
||||
|
||||
### Pending Implementation
|
||||
|
||||
* Documentation.
|
||||
* Enjoy beautiful anime series from disk when internet is down.
|
||||
This application is not endorsed or affliated with *CrunchyRoll*. The usage of this application enables episodes to be downloaded for offline convenience which may be forbidden by law in your country. Usage of this application may also cause a violation of the agreed *Terms of Service* between you and the stream provider. A tool is not responsible for your actions; please make an informed decision prior to using this application.
|
||||
|
||||
## Configuration
|
||||
|
||||
Set defaults in https://www.crunchyroll.com/acct/?action=video. We'll use that.
|
||||
It is recommended to enable authentication (`-p` and `-u`) so your account permissions and settings are available for use. It is not possible to download non-free material without an account and premium subscription. Furthermore, the default account settings are used when downloading. If you want the highest quality videos, configure these preferences at https://www.crunchyroll.com/acct/?action=video.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* NodeJS >= 0.12.x (http://nodejs.org/)
|
||||
* NPM >= 2.5.x (https://www.npmjs.org/)
|
||||
|
||||
## Installation
|
||||
|
||||
Use the applicable instructions to install. Is your operating system not listed? Please ask or contribute!
|
||||
|
||||
### Debian (Mint, Ubuntu, etc)
|
||||
|
||||
1. Run in *Terminal*: `sudo apt-get install nodejs npm mkvtoolnix rtmpdump`
|
||||
2. Run in *Terminal*: `sudo ln -s /usr/bin/nodejs /usr/bin/node`
|
||||
3. Run in *Terminal*: `sudo npm install -g crunchyroll`
|
||||
|
||||
### Mac OS X
|
||||
|
||||
1. Install *Homebrew* following the instructions at http://brew.sh/
|
||||
2. Run in *Terminal*: `brew install node mkvtoolnix rtmpdump`
|
||||
3. Run in *Terminal*: `npm install -g crunchyroll`
|
||||
|
||||
### Windows
|
||||
|
||||
1. Install *NodeJS* following the instructions at http://nodejs.org/
|
||||
3. Run in *Command Prompt*: `npm install -g crunchyroll`
|
||||
|
||||
## Instructions
|
||||
|
||||
Use the applicable instructions for the interface of your choice (currently limited to command-line).
|
||||
|
||||
### Command-line Interface (`crunchyroll`)
|
||||
|
||||
The [command-line interface](http://en.wikipedia.org/wiki/Command-line_interface) does not have a graphical component and is ideal for automation purposes and headless machines. The interface can run using a sequence of series addresses (the site address containing the episode listing), or with a batch-mode source file. The `crunchyroll --help` command will produce the following output:
|
||||
|
||||
Usage: crunchyroll [options]
|
||||
|
||||
Options:
|
||||
|
||||
-h, --help output usage information
|
||||
-V, --version output the version number
|
||||
-p, --pass <s> The password.
|
||||
-u, --user <s> The e-mail address or username.
|
||||
-c, --cache Disables the cache.
|
||||
-m, --merge Disables merging subtitles and videos.
|
||||
-e, --episode <i> The episode filter.
|
||||
-v, --volume <i> The volume filter.
|
||||
-f, --format <s> The subtitle format. (Default: ass)
|
||||
-o, --output <s> The output path.
|
||||
-s, --series <s> The series override.
|
||||
-t, --tag <s> The subgroup. (Default: CrunchyRoll)
|
||||
|
||||
#### Batch-mode
|
||||
|
||||
When no sequence of series addresses is provided, the batch-mode source file will be read (which is *CrunchyRoll.txt* in the current work directory. Each line in this file is processed as a seperate command-line statement. This makes it ideal to manage a large sequence of series addresses with variating command-line options or incremental episode updates.
|
||||
|
||||
#### Examples
|
||||
|
||||
Download in batch-mode:
|
||||
|
||||
crunchyroll
|
||||
|
||||
Download *Fairy Tail* to the current work directory:
|
||||
|
||||
crunchyroll http://www.crunchyroll.com/fairy-tail
|
||||
|
||||
Download *Fairy Tail* to `C:\Manga`:
|
||||
|
||||
crunchyroll --output C:\Manga http://www.crunchyroll.com/fairy-tail
|
||||
|
||||
#### Switches
|
||||
|
||||
##### Authentication
|
||||
|
||||
* `-p or --pass <s>` sets the password.
|
||||
* `-u or --user <s>` sets the e-mail address or username.
|
||||
|
||||
##### Disables
|
||||
|
||||
* `-c or --cache` disables the cache.
|
||||
* `-m or --merge` disables merging subtitles and videos.
|
||||
|
||||
##### Filters
|
||||
|
||||
* `-e or --episode <i>` filters episodes (positive is greater than, negative is smaller than).
|
||||
* `-v or --volume <i>` filters volumes (positive is greater than, negative is smaller than).
|
||||
|
||||
##### Settings
|
||||
|
||||
* `-f or --format <s>` sets the subtitle format. (Default: ass)
|
||||
* `-o or --output <s>` sets the output path.
|
||||
* `-s or --series <s>` sets the series override.
|
||||
* `-t or --tag <s>` sets The subgroup. (Default: CrunchyRoll)
|
||||
|
||||
## Developers
|
||||
|
||||
More information will be added at a later point. For now the recommendations are:
|
||||
|
||||
* Visual Studio 2013 Update 4 (Core)
|
||||
* NodeJS Tools (Debugging)
|
||||
* TypeScript 1.4 (Language)
|
||||
* ReSharper 9.0+ (Hints/Formatting)
|
||||
* Web Essentials (TSLint)
|
||||
|
||||
## Work In Progress
|
||||
|
||||
Open an issue or e-mail me directly. I'd be happy to answer your questions.
|
||||
Since this project uses TypeScript, compile with `node ts` or `npm install`.
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"type": "git",
|
||||
"url": "git://github.com/Deathspike/crunchyroll.js.git"
|
||||
},
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"bin": {
|
||||
"crunchyroll": "./bin/crunchyroll"
|
||||
},
|
||||
@ -33,4 +33,4 @@
|
||||
"test": "node ts --only-test",
|
||||
"tsd": "./node_modules/.bin/tsd reinstall --overwrite"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user