@b-flower/bdn-vimeo
v0.2.4
Published
vimeo API + stream support & duplicate, patch, info functions with some promises
Downloads
10
Readme
bdn-vimeo
vimeo API + stream support & duplicate & patch & info & getDownloadStream functions
Official Node.js library for the Vimeo API (extended).
Installation
npm install @b-flower/bdn-vimeo
API
uploadStream(stream [, opts])
Returns a Promise Object
Params
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
Return
Promise is resolved with following properties
Example
var Vimeo = require('@b-flower/bdn-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
data
can be anything available on Vimeo API
Return
Promise is resolved with following properties
Example
var Vimeo = require('@b-flower/bdn-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
On Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
original
source
hd
sd
mobile
Return
Promise is resolved with following properties:
Example
var Vimeo = require('@b-flower/bdn-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
On Vimeo, there are different video quality available for download.
Function try to duplicate video with following priority:
original
source
hd
sd
mobile
Return
Promise is resolved with following properties:
Example
var Vimeo = require('@b-flower/bdn-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
Return
Promise is resolved with following properties
Example
var Vimeo = require('@b-flower/bdn-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);
});