see: https://www.npmjs.com/package/@b-flower/bdn-vimeo
vimeo API + stream support & duplicate & patch & info & getDownloadStream functions
npm install jab-vimeo
Returns a Promise Object
- stream
- Readable stream to upload to vimeo
- opts
- Object
opts
is optional
opts.upTo1080=false
- do you want to convert your video to HD?
opts.name=undefined
- name of video that appears in Vimeo.
If no name is given, function try to determine filename on stream object.
opts.description=undefined
- description of video that appears in Vimeo
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
var Vimeo = require('jab-vimeo').Vimeo;
var lib = new Vimeo(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN);
var fs = require('fs');
var streamToUpload = fs.createReadStream(path.join(__dirname, 'your_video.mp4'));
lib.uploadStream(streamToUpload)
.then(function(props) {
console.log(props.res.headers);
console.log(props.res.statusCode);
console.log(props.body);
console.log(props.videoId);
});
Returns a Promise Object
- videoId
- existing id of a vimeo video
- data
- Object
data
can be anything available on Vimeo API
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
var Vimeo = require('jab-vimeo').Vimeo;
var lib = new Vimeo(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN);
var data = {name: 'my new video name', description: 'awesome description of my video'}
lib.patch(videoId, data)
.then(function(props) {
console.log(props.res.headers);
console.log(props.res.statusCode);
console.log(props.body);
console.log(props.videoId);
});
Returns a Promise Object
- videoId
- existing id of a vimeo video
On Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
original
source
hd
sd
mobile
Promise is resolved with following properties:
- body
- body response of patch on video
- res
- Object
- videoId
- Number
var Vimeo = require('jab-vimeo').Vimeo;
var lib = new Vimeo(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN);
lib.duplicate(videoId)
.then(function(props) {
console.log(props.res.headers);
console.log(props.res.statusCode);
console.log(props.body);
console.log(props.videoId);
});
Returns a Promise Object
- videoId
- existing id of a vimeo video
On Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
original
source
hd
sd
mobile
Promise is resolved with following properties:
- req
- hyperquest request representing readable stream
var Vimeo = require('jab-vimeo').Vimeo;
var lib = new Vimeo(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN);
var Promise = require('bluebird');
var fs = require('fs');
function saveFile(stream) {
return new Promise(function(resolve, reject) {
var file = fs.createWriteStream('./downstream.mp4');
stream.pipe(file);
file.on('finish', function() { resolve(); });
file.on('error', function(err) { reject(err); });
});
}
lib.getDownloadStream(videoId)
.then(saveFile);
Returns a Promise Object
- videoId
- existing id of a vimeo video
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
var Vimeo = require('jab-vimeo').Vimeo;
var lib = new Vimeo(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN);
lib.info(videoId)
.then(function(props) {
console.log(props.res.headers);
console.log(props.res.statusCode);
console.log(props.body);
console.log(props.videoId);
});