Introduction to ytdl-core
ytdl-core is a powerful and popular library used for downloading YouTube videos. Whether you want to download videos, get metadata, or more, ytdl-core provides you with a simple and fast way to do it.
Basic Usage
First, install ytdl-core using npm:
npm install ytdl-core
Download a Video
Below is a code snippet for downloading a YouTube video using ytdl-core:
const fs = require('fs');
const ytdl = require('ytdl-core');
ytdl('https://www.youtube.com/watch?v=VIDEO_ID')
.pipe(fs.createWriteStream('video.mp4'));
Get Video Information
You can also retrieve video details such as the title, description, and more:
const ytdl = require('ytdl-core');
ytdl.getInfo('https://www.youtube.com/watch?v=VIDEO_ID')
.then(info => {
console.log(info.title);
});
API Examples
Here are some more useful API examples:
Get Downloadable Formats
const ytdl = require('ytdl-core');
ytdl.getInfo('https://www.youtube.com/watch?v=VIDEO_ID')
.then(info => {
console.log('Formats:', ytdl.filterFormats(info.formats, 'audioandvideo'));
});
Video Duration
const ytdl = require('ytdl-core');
ytdl.getInfo('https://www.youtube.com/watch?v=VIDEO_ID')
.then(info => {
console.log('Duration:', info.length_seconds);
});
Check If a URL is a Valid YouTube URL
const ytdl = require('ytdl-core');
const isValid = ytdl.validateURL('https://www.youtube.com/watch?v=VIDEO_ID');
console.log('Is valid URL:', isValid);
App Example
Below is an example of a simple application that uses ytdl-core to download a YouTube video and log its metadata:
const fs = require('fs');
const ytdl = require('ytdl-core');
const videoURL = 'https://www.youtube.com/watch?v=VIDEO_ID';
ytdl(videoURL)
.pipe(fs.createWriteStream('downloaded_video.mp4'))
.on('finish', () => {
console.log('Video downloaded successfully');
ytdl.getInfo(videoURL)
.then(info => {
console.log('Video Title:', info.title);
console.log('Video Length:', info.length_seconds, 'seconds');
});
});
Conclusion
ytdl-core is an essential tool for developers looking to interact with YouTube videos programmatically. From downloading videos to fetching metadata, its wide-ranging APIs make it incredibly versatile and efficient.
Hash: b1bd9c88c955f8d2e435a577fdb8e90cdc64166d9ada673dd17465ef33c176ea