Node library for uploading, compressing and streaming videos using Vectorly's stream product
Last updated 6 months ago by sb2702 .
MIT · Original npm · Tarball · package.json
$ cnpm install @vectorly-io/client 
SYNC missed versions from official npm registry.

Vectorly Node Client

Vectorly's Node library enables provides a Node wrapper for the API, enabling you to

  • Upload videos in bulk
  • List current videos
  • Get the embed code to playback video on your app or website
  • Get the links to download your video

Getting your API key

To use the library, you will need an API Key.

const vectorly = require('@vectorly-io/client')(process.env.VECTORLY_API_KEY);

You can get your API key in the "Settings page", which you can view by clicking on the user icon in the top-right hand corner.




vectorly.upload('myfile.mp4', {}, function (err, result) {

    if(err)  return console.log(`An error ocurred while uploading the file: ${err}`);
    console.log(`File sucessfully uploaded. Vectorly upload id: ${result.upload_id}`);



vectorly.upload('myfile.mp4', {}, function (err, result) {

    // On complete

}, function(progress){

    console.log(`Upload progress: ${progress.bytesUploaded / progress.bytesTotal * 100).toFixed(2)}`);

Listing files

You can list the files in your library

vectorly.list(function (err, videos) {

    if(err) return console.log("An error ocurred while  listing videos");

    console.log("Got videos");

Searching files

Or you can search videos by name

vectorly.search('search term', function (err, videos) {

    if(err) return console.log("An error ocurred while  searching videos");

    console.log("Got videos");

Downloading files

let video_id = '123';

let options = {
    silent: false,
    destination: 'myvideo.mp4'

vectorly.download(video_id, options, function (err) {

    if(err) return console.log("An error ocurred while  listing videos");

    console.log("Your video finished downloading");

Updating files

vectorly.updates(options, function (err, updates) {

    if(err) return console.log("An error ocurred while listing videos");

        // updates.new_videos
        // updates.videos_to_update
        // updates.videos_up_to_date



vectorly.sync(options, function (err) {

    if(err) return console.log("An error ocurred while syncing with the server");



To authorize an individual user to watch a specific video, you can create temporary, unique signed URLs, that will enable the video to only be viewed for a short amount of time.

let signed_url = vectorly.secure(video_id).signed_url;


   <iframe src="${signed_url}" width="800" height="450" frameborder="0" allowfullscreen  />


Offline playback

You can also use the node client to backup your files locally (on a server) and serve video files offline. To do that, you can install Vectorly as a command line tool on your server

   npm install -g @vectorly-io/client

If it is installed properly, you can then use vectorly commands


You can create a local store of your content using the sync command

vectorly sync --local-folder=<folder_to_save_videos> --api-key=<api-key>

This will proceed to download all of your videos, and meta data offline

Offline playback

You can also playback vectorly videos offline through the server.

vectorly server --local-folder=<folder_to_save_videos> --api-key=<api-key> --port 8080

That will spin up a local server available offline to playback your videos. You can then access your videos using a similar api to iframe embed

<iframe src="http://localhost:8080/embed/video/#/<video-id>"  height="450"  height="450" frameborder="0" allowfullscreen >

And this will work entirely offline. If you update content on the server, you can just re-run the sync command and it will only update videos that have changed

Current Tags

  • 0.0.20                                ...           latest (6 months ago)

14 Versions

  • 0.0.20                                ...           6 months ago
  • 0.0.16                                ...           9 months ago
  • 0.0.15                                ...           9 months ago
  • 0.0.14                                ...           9 months ago
  • 0.0.12                                ...           9 months ago
  • 0.0.10                                ...           9 months ago
  • 0.0.9                                ...           10 months ago
  • 0.0.8                                ...           10 months ago
  • 0.0.7                                ...           10 months ago
  • 0.0.6                                ...           10 months ago
  • 0.0.5                                ...           10 months ago
  • 0.0.4                                ...           10 months ago
  • 0.0.3                                ...           10 months ago
  • 0.0.1                                ...           10 months ago
Maintainers (2)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (10)
Dev Dependencies (0)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |