youtube-vids-uploader
v2.6.5
Published
Uploads videos to youtube without any limits
Downloads
14
Maintainers
Readme
Paid support is available for quick help, new features etc.
For paid support, please write mail to [email protected]
In the name of God, who have guided me to do this work
Note1: In case you find any issue, please raise an issue, So that I can fix it.
Please star this repo by clicking on :star: button above :arrow_upper_right:
Features:
- No upload Limits (50+ videos/day limit set by youtube for every channel)
- Free & Easy to use
Prerequisite:
- Install Nodejs Current Version
Installation:
npm i youtube-videos-uploader
Youtube Setup:
- Go to your Google Security settings and note down your recovery email and delete recovery phone from your google settings
- Go to your Youtube settings and Setup your upload defaults Settings:
Usage:
Uploading a Video:
import { upload } from 'youtube-videos-uploader' //Typescript
//OR
const { upload } = require('youtube-videos-uploader'); //vanilla javascript
// recoveryemail is optional, only required to bypass login with recovery email if prompted for confirmation
const credentials = { email: 'Your Email', pass: 'Your Password', recoveryemail: 'Your Recovery Email' }
// minimum required options to upload video
const video1 = { path: 'video1.mp4', title: 'title 1', description: 'description 1' }
const onVideoUploadSuccess = (videoUrl) => {
// ..do something..
}
// Extra options like tags, thumbnail, language, playlist etc
const video2 = { path: 'video2.mp4', title: 'title 2', description: 'description 2', thumbnail:'thumbnail.png', language: 'english', tags: ['video', 'github'], playlist: 'playlist name', channelName: 'Channel Name', onSuccess:onVideoUploadSuccess, skipProcessingWait: true, onProgress: (progress) => { console.log('progress', progress) } }
// Returns uploaded video links in array
upload (credentials, [video1, video2]).then(console.log)
// OR
// This package uses Puppeteer, you can also pass Puppeteer launch configuration
upload (credentials, [video1, video2], {headless:false}).then(console.log)
// Refer Puppeteer documentation for more launch configurations like proxy etc
// https://pptr.dev/#?product=Puppeteer&version=main&show=api-puppeteerlaunchoptions
Output:
[ 'https://youtu.be/fh2Kreex5Eg', 'https://youtu.be/fh2Krefx5Eg' ]
Updating Metadata of a Youtube Video:
import { update } from 'youtube-videos-uploader' //Typescript
//OR
const { update } = require('youtube-videos-uploader'); //vanilla javascript
const credentials = { email: 'Your Email', pass: 'Your Password', recoveryemail: 'Your Recovery Email' }
const videoUpdate1 = { link: 'https://www.youtube.com/watch?v=w3jLJU7DT5E', title: 'Your New Title' }
const onVideoUpdateSuccess = (videoUrl) => {
// ..do something..
}
// Extra options like tags, thumbnail, language, playlist etc
const videoUpdate2 = { link: 'https://www.youtube.com/watch?v=w3jLJU7DT5E', title: 'title 2', description: 'description 2', thumbnail: 'thumbnail.png', language: 'english', tags: ['video', 'github'], replaceTags: ['mytag'], playlist: 'playlist name', channelName: 'Channel Name', publishType: 'unlisted', onSuccess: onVideoUpdateSuccess }
update(credentials, [videoUpdate1, videoUpdate2]).then(console.log)
// OR
update(credentials, [videoUpdate1, videoUpdate2], { headless: false }).then(console.log)
Making a comment to youtube video:
import { comment } from 'youtube-videos-uploader' //Typescript
//OR
const { comment } = require('youtube-videos-uploader'); //vanilla javascript
const credentials = { email: 'Your Email', pass: 'Your Password', recoveryemail: 'Your Recovery Email' }
const comment1 = { link: 'https://www.youtube.com/watch?v=jEevRjRglFY', comment: 'Your comment' }
comment(credentials, [comment1]).then(console.log)
//OR
comment(credentials, [comment1], {headless:false}).then(console.log)
Contributors 🎉:
- Pierre Miniggio( @pierreminiggio ) - For Adding Youtube UI English Language Support, JSDoc, debug message, Cleanup, shorts link refactor, log handling and close browser on error
- TentacleSama4254 - For Adding Thumbnail option, fixing tags error, TypeScript Rewrite, storing login session, video metadata update feature and comments option
- Sai Charan - For onSuccess Option
- Tue Nguyen - For Better error messages
- weizhiqimail - For Extra Debug messages
- DaddyFrosty - For Path Escaping, Skip Processing wait and onProgress event
- Owl Burger - For Create Channel
- Ítalo Andrade - For Channel Switcher
- Dominic Findlay - For Supporting Single Quotes in playlist name and skip processing bug fix
- Dement6d - For Better error messages & handling 2FA
- coooo77 - For uploading videos as draft option
- L1teleau - For upload limit reached message
- Sacredrel1c - For channel stuck due to no drop down menu, upload endless wait fix, click fix and Recursive lang change
- Chipped1 - For Google login fix
- Jared L - For customSelectorUrl config option
- Tiago Severino - For Replacing readline