twitchvod-youtube
Version:
> Download any public vod from Twitch and automatically upload at YouTube <br /> from 144p to 1080p
119 lines (95 loc) • 4.09 kB
Markdown
vodtwitch + <a href="https://github.com/golangf/youtubeuploader">YoutubeUploader</a>
Download any public vod from Twitch and automatically upload at YouTube
<br /> from 144p to 1080p
<a href="https://npmjs.org/package/twitchvod-youtube">
<img src="https://img.shields.io/npm/v/twitchvod-youtube.svg"
alt="npm version">
</a>
<a href="https://github.com/matschik/vodtwitch/blob/master/LICENSE">
<img src="https://img.shields.io/npm/l/vodtwitch.svg"
alt="license">
</a>
<br/>
# Install
```bash
npm install twitchvod-youtube
yarn add twitchvod-youtube
```
# Setup YoutubeUploader
## install
1. Download for your OS from <a href="https://github.com/golangf/youtubeuploader/releases">releases</a>.
2. Extract it to a directory and add the directory to `PATH`.
## get client id
1. Create an [account] on [Google Cloud Platform].
2. Create a [new project], and select it.
3. Enable [YouTube Data API] for the project.
4. Add [credentials] to your project.
5. Which API are you using? `YouTube Data API v3`.
6. Where will you be calling the API from? `Web server`.
7. What data will you be accessing? `User data`.
8. Select `What credentials do I need?`.
9. Create an OAuth 2.0 client ID.
10. Name: `youtubeuploader` (your choice).
11. Authorized JavaScript origins: `http://localhost:8080`.
12. Authorized redirect URIs: `http://localhost:8080/oauth2callback`.
13. Select `Create OAuth client ID`.
14. Set up the OAuth 2.0 consent screen.
15. Email address: (it should be correct).
16. Product name shown to users: `youtubeuploader` (your choice).
17. Select `Continue`.
18. Download credentials.
19. Select `Download`, then `Done`.
21. Copy downloaded file (`client_id.json`) to a directory.
## get client token
1. Open [console] in the above directory.
2. Run `youtubeuploader -v client_id.json`.
3. OAuth page will be opened in browser.
3. Choose an account, videos will be uploaded here.
4. `youtubeuploader` wants to access your Google Account.
5. Select `Allow`, and close browser window.
6. `client_token.json` should be created.
## reference
```bash
youtubeuploader [options]
--help: show help
--version: show version
-l, --log: enable log
-i, --id: set video id (for update)
-v, --video: set input video file/URL
-t, --thumbnail: set input thumbnail file/URL
-c, --caption: set input caption file/URL
-m, --meta: set input meta file
-d, --descriptionpath: set input description file
-ci, --client_id: set client id credentials path (client_id.json)
-ct, --client_token: set client token credentials path (client_token.json)
-ot, --title: set title (video)
-od, --description: set description (video)
-ok, --tags: set tags/keywords
-ol, --language: set language (en)
-oc, --category: set category (people and blobd)
-op, --privacystatus: set privacy status (public)
-oe, --embeddable: enable to be embeddable
-ol, --license: set license (standard)
-os, --publicstatsviewable: enable public stats to be viewable
-opa, --publishat: set publish time
-ord, --recordingdate: set recording date
-opi, --playlistids: set playlist ids
-opt, --playlisttitles: set playlist titles
-ola, --location_latitude: set latitude coordinate
-olo, --location_longitude: set longitude coordinate
-old, --locationdescription: set location description
-uc, --upload_chunk: set upload chunk size in bytes (8388608)
-ur, --upload_rate: set upload rate limit in kbps (no limit)
-ut, --upload_time: set upload time limit ex- "10:00-14:00"
-ap, --auth_port: set OAuth request port (8080)
-ah, --auth_headless: enable browserless OAuth process
```
# Usage
It will save to your current directory as `{vodID}.mp4`.
## NodeJS
```js
const twitchvod = require("twitchvod-youtube");
twitchvod({vodID}, {privacystatus: 'public', log: true, title: `Test title`, description: 'Test description'});
```
# Information
twitchvod-youtube is based on <a href="https://github.com/matschik/vodtwitch">VodTwitch❤️</a>