Deprecated
see: https://www.npmjs.com/package/@b-flower/bdn-vimeo
jab-vimeo
vimeo API + stream support & duplicate & patch & info & getDownloadStream functions
Official Node.js library for the Vimeo API (extended).
Installation
npm install jab-vimeo
API
uploadStream(stream [, opts])
Returns a Promise Object
Params
stream Readable stream to upload to vimeo opts Objectopts 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
Return
Promise is resolved with following properties
body body response of patch on video res Object videoId NumberExample
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);
});
patch(videoId, data)
Returns a Promise Object
Params
videoId existing id of a vimeo video data Objectdata can be anything available on Vimeo API
Return
Promise is resolved with following properties
body body response of patch on video res Object videoId NumberExample
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);
});
duplicate(videoId)
Returns a Promise Object
Params
videoId existing id of a vimeo videoOn Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
originalsourcehdsdmobile
Return
Promise is resolved with following properties:
body body response of patch on video res Object videoId NumberExample
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);
});
getDownloadStream(videoId)
Returns a Promise Object
Params
videoId existing id of a vimeo videoOn Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
originalsourcehdsdmobile
Return
Promise is resolved with following properties:
req hyperquest request representing readable streamExample
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);
info(videoId)
Returns a Promise Object
Params
videoId existing id of a vimeo videoReturn
Promise is resolved with following properties
body body response of patch on video res Object videoId NumberExample
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);
});