npm.io
0.2.1 • Published 8 years ago

jab-vimeo

Licence
MIT
Version
0.2.1
Deps
4
Vulns
0
Weekly
0
Stars
1

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);
  });