Major update of README.md

This commit is contained in:
Roel van Uden 2015-02-28 13:48:02 +01:00
parent eb7de600c1
commit 44a66286cb
2 changed files with 103 additions and 51 deletions

150
README.md
View File

@ -1,69 +1,121 @@
# CrunchyRoll.js # CrunchyRoll.js
*CrunchyRoll.js* is capable of downloading *anime* episodes from the popular *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* 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 ## Motivation
*CrunchyRoll* has been providing an amazing streaming service and offers the *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!
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 ## Legal Warning
This application is not endorsed or affliated with *CrunchyRoll*. The usage of 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.
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.
## Configuration ## 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 ## Developers
More information will be added at a later point. For now the recommendations are:
* Visual Studio 2013 Update 4 (Core) * Visual Studio 2013 Update 4 (Core)
* NodeJS Tools (Debugging) * NodeJS Tools (Debugging)
* TypeScript 1.4 (Language) * TypeScript 1.4 (Language)
* ReSharper 9.0+ (Hints/Formatting) * ReSharper 9.0+ (Hints/Formatting)
* Web Essentials (TSLint) * Web Essentials (TSLint)
## Work In Progress Since this project uses TypeScript, compile with `node ts` or `npm install`.
Open an issue or e-mail me directly. I'd be happy to answer your questions.

View File

@ -11,7 +11,7 @@
"type": "git", "type": "git",
"url": "git://github.com/Deathspike/crunchyroll.js.git" "url": "git://github.com/Deathspike/crunchyroll.js.git"
}, },
"version": "1.1.0", "version": "1.1.1",
"bin": { "bin": {
"crunchyroll": "./bin/crunchyroll" "crunchyroll": "./bin/crunchyroll"
}, },