Skip to content

sfia-andreidaniel/browser-cl

Repository files navigation

1. About this project

This project aims to implement a transcoding cloud written in node.js. The reason for such implementation is the small cpu usage footprint of the node.js and it's low resource consuming.

2. Project components

2.0. First of all: NodeJS modules

This project depends heavily on nodejs project, and for being able to run it, you will need the following nodejs modules:

  • xmlhttprequest ( tested with 1.6.0 )
  • websocket ( tested with 1.0.8 )
  • remove ( tested with 0.1.5 )
  • mysql ( tested with 2.0.0-alpha-9 )
  • mmmagic ( tested with 0.3.4 )
  • mkdirp ( tested with 0.3.5 )
  • gm ( tested with 1.13.3 )
  • base64 ( tested with 2.1.0 )
  • nodemailer ( tested with 0.5.5 )
  • adm-zip ( only for the worker, tested with 0.4.3 )

2.1. The API

The api component is the frontend and the master controller of the cloud. It's task is to receive files from clients, and distribute them across cloud storage nodes, handle transcoding tasks, create back-notifications to upload clients, etc.

In a typical environment, only a single api node is required.

2.1.1 Api software requirements

The software requirements for the api node are the following:

  • nodejs ( tested with v0.10.3 )
  • mysql ( tested with v5.5 )
  • ffmpeg ( built with all formats support )
  • sendmail

2.2. The WORKER

Worker nodes are servers that transcode uploaded files on the api server in different file versions, and store them to the storage servers.

2.2.1. Worker software requirements

The software requirements for the worker node are the following:

  • nodejs ( tested with v0.10.3 )
  • graphicsmagick ( tested with v.1.3.12-1.1build1 on ubuntu 12.04 )
  • ffmpeg ( built with all formats support )
  • sendmail

2.3. The STORAGE

Storage nodes are servers in the cloud that are storing and serving uploaded files on the API and their transcoded versions if needed.

2.3.1. Storage software requirements

The software requirements for a storage node are the following:

  • nodejs ( tested with v0.10.3 )
  • nginx ( compiled with mp4 module )
  • sendmail

2.4. Drivers available for the cloud clients

The following connectivity to the could is supported:

  • PHP driver
  • JavaScript driver ( for browser )
  • TODO: JavaScript driver ( for nodejs )

Releases

No releases published

Packages

No packages published

Languages