X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=support%2Fdoc%2Ftools.md;h=26b44c83512ae434b281ac2719b3d51a3a1edd30;hb=bbe0f0645ca958d33a3f409b15166609733b663f;hp=4e431b3d49ebc3a108a64d294c1165b0079bb989;hpb=358770dbbd88136b211090832b24cf3d5b648234;p=github%2FChocobozzz%2FPeerTube.git diff --git a/support/doc/tools.md b/support/doc/tools.md index 4e431b3d4..26b44c835 100644 --- a/support/doc/tools.md +++ b/support/doc/tools.md @@ -1,16 +1,18 @@ # CLI tools guide - - [Installation](#installation) - - [Usage](#usage) - - [import-videos.js](#import-videos.js) - - [upload.js](#upload) + - [Remote tools](#remote-tools) + - [import-videos.js](#import-videosjs) + - [upload.js](#uploadjs) + - [Server tools](#server-tools) + - [create-transcoding-job.js](#create-transcoding-jobjs) + - [create-import-video-file-job.js](#create-import-video-file-jobjs) + - [prune-storage.js](#prune-storagejs) -## Installation +## Remote Tools -## Prerequisites - -You need at least 512MB RAM to run the script. -Scripts 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. +You need at least 512MB RAM to run the script. +Scripts can be launched directly from a PeerTube server, or from a separate server, even a desktop PC. +You need to follow all the following steps even if you are on a PeerTube server. ### Dependencies @@ -18,57 +20,92 @@ Install the [PeerTube dependencies](dependencies.md). ### Installation -Clone the PeerTube repo to get the latest version: +Clone the PeerTube repo to get the latest version (even if you are on your PeerTube server): ``` -git clone https://github.com/Chocobozzz/PeerTube.git -CLONE="$(pwd)/PeerTube" +$ git clone https://github.com/Chocobozzz/PeerTube.git +$ CLONE="$(pwd)/PeerTube" ``` Run ``yarn install`` ``` -cd ${CLONE} -yarn install +$ cd ${CLONE} +$ yarn install ``` Build server tools: ``` -cd ${CLONE} -npm run build:server +$ cd ${CLONE} +$ npm run build:server ``` -## Tools - ### import-videos.js You can use this script to import videos from all [supported sites of youtube-dl](https://rg3.github.io/youtube-dl/supportedsites.html) into PeerTube. Be sure you own the videos or have the author's authorization to do so. - -``` -cd ${CLONE} -node dist/server/tools/import-videos.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD" -t "TARGET_URL" +```sh +$ node dist/server/tools/import-videos.js \ + -u "PEERTUBE_URL" \ + -U "PEERTUBE_USER" \ + --password "PEERTUBE_PASSWORD" \ + -t "TARGET_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 - * TARGET_URL : the target url you want to import. Examples: - * YouTube: - * 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 - * Vimeo: https://vimeo.com/xxxxxx - * Dailymotion: https://www.dailymotion.com/xxxxx +* `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 (if omitted, you will be prompted for it) +* `TARGET_URL` : the target url you want to import. Examples: + * YouTube: + * 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 + * Vimeo: https://vimeo.com/xxxxxx + * Dailymotion: https://www.dailymotion.com/xxxxx + +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... + +Videos will be publicly available after transcoding (you can see them before that in your account on the web interface). - 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... ### upload.js You can use this script to import videos directly from the CLI. +Videos will be publicly available after transcoding (you can see them before that in your account on the web interface). + +``` +$ cd ${CLONE} +$ node dist/server/tools/upload.js --help ``` -cd ${CLONE} -node dist/server/tools/upload.js --help + + +## Server tools + +These scripts should be run on the server, in `peertube-latest` directory. + +### create-transcoding-job.js + +You can use this script to force transcoding of an existing video. + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run create-transcoding-job -- -v [videoUUID] +``` + +### create-import-video-file-job.js + +You can use this script to import a video file to replace an already uploaded file or to add a new resolution to a video. + +``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run create-import-video-file-job -- -v [videoUUID] -i [videoFile] +``` + +### prune-storage.js + +Some transcoded videos or shutdown at a bad time can leave some unused files on your storage. +To delete them (a confirmation will be demanded first): + ``` +$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run prune-storage +``` \ No newline at end of file