aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/doc/import-youtube.md
blob: 39f01b85bcec400457c64042a77b2542b4acc7e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Import videos from Youtube guide

You can use this script to import videos from Youtube channel to Peertube.  
Be sure you own the videos or have the author's authorization to do so.

 - [Installation](#installation)
 - [Usage](#usage)

## Installation

## Prerequisites

You need at least 512MB RAM to run the script.  
Importation can be launched directly from a PeerTube server (in this case you already have dependencies installed :+1:) or from a separate server, even a dekstop PC.  

### Dependencies

 * [PeerTube dependencies](dependencies.md)
 * git

### Installation

Clone the PeerTube repo to get the latest version:

```
git clone https://github.com/Chocobozzz/PeerTube.git
CLONE="$(pwd)/PeerTube"
```

Run ``yarn install``
```
cd ${CLONE}
yarn install
```

Build server tools:
```
cd ${CLONE}
npm run build:server
```


## Usage

You are now ready to run the script : 

```
cd ${CLONE}
node dist/server/tools/import-youtube.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD" -y "YOUTUBE_URL"
```

 * PEERTUBE_URL : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re/
 * PEERTUBE_USER : your PeerTube account where videos will be uploaded
 * PEERTUBE_PASSWORD : password of your PeerTube account
 * YOUTUBE_URL : the youtube video/user/channel/playlist you want to import. Examples:
   * Channel: https://www.youtube.com/channel/ChannelId
   * User https://www.youtube.com/c/UserName or https://www.youtube.com/user/UserName
   * Video https://www.youtube.com/watch?v=blabla

 The script will get all public videos from Youtube, download them and upload to PeerTube.  
 Already downloaded videos will not be uploaded twice, so you can run and re-run the script in case of crash, disconnection...