Youtube to snapshots and GIFs.
Have you ever dreamt of creating a gif out of a youtube video ? Then you are in the right place
This package allows you to take a screenshot, a gif or a portion out of a youtube video.
This package is the son of these two amazing parents:
Dependencies:
You need to get ffmpeg installed to start using this package.
Installation :
$ npm install youtube.com
How does it work ?
Instantiate the youtube
object :
var Youtube = require('youtube.com');
// You can instantiate the youtube object using the video url
var youtube = Youtube('http://www.youtube.com/watch?v=ategZqxHkz4');
// or you can also specify the video id
var youtube = Youtube('ategZqxHkz4');
####Crop a youtube video :
youtube.crop('0:05', '0:25', './file.mp4')
.then(function () {
console.log("Done");
}).catch(function (err) {
console.log("err : ", err)
});
The .crop()
method takes a 4th argument which is the format of the video to download example : ['--format=18']
This format is exactly the same we specify when downloading a youtube video using the Youtube-dl package. Make sure to take a look at it for more info.
####Take a screenshot :
youtube.snapshot('1:00', './file.jpg')
.then(function () {
console.log("Done");
}).catch(function (err) {
console.log("err : ", err)
});
The .snapshot()
method also takes the format as its 3rd argument.
####Creating a GIF :
youtube.gif('0:05', '0:35', './file.gif')
.then(function () {
console.log("Done");
}).catch(function (err) {
console.log("err : ", err)
});
The .gif()
method takes 2 more arguments, which are size
and fps
- size : The hight and width of the final gif ex :
"600x300"
- fps : an integer representing the fps of the final gif
You can find more details on these 2 arguments on the Fluent-ffmpeg package.
Downloading a video
youtube.download('file.mp4', format)
.then(function () {
console.log("done");
});
Again, the format is the same as the one mentioned before.