Video On Demand Server in Node.Js on top of Azure Media Service
Clone this project
$ git clone https://github.com/Traverous/GaleCrater
Rename config-example.js
to config.js
. Fill in the required variables. Add some MP4 video file to 'media' folder. Rename it to sample.mp4
Then to run
$ node runner.js
Clone to appropriate folder
$ git clone https://github.com/Traverous/GaleCrater ./gale-crater
Import and use the code, an example is provided in runner.js
const GaleCrater = require('./index');
let filename = 'sample.mp4';
let filepath = './media/sample.mp4';
let streamingUrl = await GaleCrater.transcode(filename, filepath);
You can append this streamingUrl
with filename excluding extention plus .ism/Manifest
for Smooth Streaming Protocol's manifest file. With .ism/Manifest(format=m3u8-aapl)
for HLS's manifest. And with .ism/Manifest(format=mpd-time-csf)
for DASH manifest.
Once you have the link to DASH Manifest, you can test the Adaptive Bitrate streaming here
Files larger than 100 MBs are uploaded in chunks via Azure Storage PUT Block Blobs (REST APIs). Each chunk (block) can be at most 4 MB in size. Default is 4 in the code.