Compare commits
8 Commits
ffmpeg_pul
...
v1.1.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c32726745 | ||
|
|
42ae0ae1fb | ||
|
|
e4b3871919 | ||
|
|
58e4a557e2 | ||
|
|
8371d68113 | ||
|
|
b7d496fc9d | ||
|
|
14260d04b3 | ||
|
|
3d46b65d67 |
24
README.md
24
README.md
@@ -1,6 +1,6 @@
|
||||
# CrunchyRoll.js
|
||||
# Crunchy.js: a fork of Deathspike/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.
|
||||
*Crunchy.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
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
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.
|
||||
|
||||
**PLEASE USE THIS TOOL ONLY IF YOU HAVE A PREMIUM ACCOUNT**
|
||||
|
||||
## Configuration
|
||||
|
||||
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.
|
||||
@@ -28,28 +30,28 @@ Use the applicable instructions to install. Is your operating system not listed?
|
||||
|
||||
1. Run in *Terminal*: `sudo apt-get install nodejs npm mkvtoolnix rtmpdump ffmpeg`
|
||||
2. Run in *Terminal*: `sudo ln -s /usr/bin/nodejs /usr/bin/node`
|
||||
3. Run in *Terminal*: `sudo npm install -g crunchyroll`
|
||||
3. Run in *Terminal*: `sudo npm install -g crunchy`
|
||||
|
||||
### Mac OS X
|
||||
|
||||
1. Install *Homebrew* following the instructions at http://brew.sh/
|
||||
2. Run in *Terminal*: `brew install node mkvtoolnix rtmpdump ffmpeg`
|
||||
3. Run in *Terminal*: `npm install -g crunchyroll`
|
||||
3. Run in *Terminal*: `npm install -g crunchy`
|
||||
|
||||
### Windows
|
||||
|
||||
1. Install *NodeJS* following the instructions at http://nodejs.org/
|
||||
3. Run in *Command Prompt*: `npm install -g crunchyroll`
|
||||
3. Run in *Command Prompt*: `npm install -g crunchy`
|
||||
|
||||
## Instructions
|
||||
|
||||
Use the applicable instructions for the interface of your choice (currently limited to command-line).
|
||||
|
||||
### Command-line Interface (`crunchyroll`)
|
||||
### Command-line Interface (`crunchy`)
|
||||
|
||||
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:
|
||||
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 `crunchy --help` command will produce the following output:
|
||||
|
||||
Usage: crunchyroll [options]
|
||||
Usage: crunchy [options]
|
||||
|
||||
Options:
|
||||
|
||||
@@ -74,15 +76,15 @@ When no sequence of series addresses is provided, the batch-mode source file wil
|
||||
|
||||
Download in batch-mode:
|
||||
|
||||
crunchyroll
|
||||
crunchy
|
||||
|
||||
Download *Fairy Tail* to the current work directory:
|
||||
|
||||
crunchyroll http://www.crunchyroll.com/fairy-tail
|
||||
crunchy http://www.crunchyroll.com/fairy-tail
|
||||
|
||||
Download *Fairy Tail* to `C:\Anime`:
|
||||
|
||||
crunchyroll --output C:\Anime http://www.crunchyroll.com/fairy-tail
|
||||
crunchy --output C:\Anime http://www.crunchyroll.com/fairy-tail
|
||||
|
||||
#### Switches
|
||||
|
||||
|
||||
14
package.json
14
package.json
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"author": "Roel van Uden",
|
||||
"description": "CrunchyRoll.js is capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
|
||||
"author": "Godzil",
|
||||
"description": "Crunchy.js is a fork of Crunchyroll.js, capable of downloading anime episodes from the popular CrunchyRoll streaming service.",
|
||||
"keywords": [
|
||||
"anime",
|
||||
"download",
|
||||
"crunchyroll"
|
||||
],
|
||||
"name": "crunchyroll",
|
||||
"name": "crunchy",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/Deathspike/crunchyroll.js.git"
|
||||
"url": "git://github.com/Godzil/crunchyroll.js.git"
|
||||
},
|
||||
"version": "1.1.5",
|
||||
"version": "1.1.8",
|
||||
"bin": {
|
||||
"crunchyroll": "./bin/crunchyroll"
|
||||
"crunchy": "./bin/crunchy"
|
||||
},
|
||||
"dependencies": {
|
||||
"big-integer": "1.4.4",
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"prepublish": "npm run tsd && tsc",
|
||||
"test": "node ts --only-test",
|
||||
"test": "node ts --only-test",
|
||||
"tsd": "tsd reinstall -o -s"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ function download(config: IConfig, page: IEpisodePage, player: IEpisodePlayer, d
|
||||
if (err) return done(err);
|
||||
if (config.merge) return complete('Finished ' + fileName, now, done);
|
||||
var isSubtited = Boolean(player.subtitle);
|
||||
video.merge(config, isSubtited, player.video.file, filePath, player.mode, err => {
|
||||
video.merge(config, isSubtited, player.video.file, filePath, player.video.mode, err => {
|
||||
if (err) return done(err);
|
||||
complete('Finished ' + fileName, now, done);
|
||||
});
|
||||
@@ -165,7 +165,7 @@ function scrapePlayer(config: IConfig, address: string, id: number, done: (err:
|
||||
data: player['default:preload'].subtitle.data
|
||||
} : null,
|
||||
video: {
|
||||
mode: streamMode;
|
||||
mode: streamMode,
|
||||
file: player['default:preload'].stream_info.file,
|
||||
host: player['default:preload'].stream_info.host
|
||||
}
|
||||
|
||||
1
src/interface/IEpisodePlayer.d.ts
vendored
1
src/interface/IEpisodePlayer.d.ts
vendored
@@ -5,6 +5,7 @@ interface IEpisodePlayer {
|
||||
data: string;
|
||||
};
|
||||
video: {
|
||||
mode: string;
|
||||
file: string;
|
||||
host: string;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user