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
- 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
Return
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
Example
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
- Object
data
can be anything available on Vimeo API
Return
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
Example
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 video
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:
- body
- body response of patch on video
- res
- Object
- videoId
- Number
Example
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 video
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:
- req
- hyperquest request representing readable stream
Example
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 video
Return
Promise is resolved with following properties
- body
- body response of patch on video
- res
- Object
- videoId
- Number
Example
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); });