Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gpac/node-gpac-dash

NodeJS module for DASH streaming using GPAC
https://github.com/gpac/node-gpac-dash

Last synced: 2 days ago
JSON representation

NodeJS module for DASH streaming using GPAC

Awesome Lists containing this project

README

        

DASH Low Latency Web Server
===============================

NodeJS-based code to run a web server for serving MPEG-DASH content, in particular generated by MP4Box or DashCast.
The server is capable of achieving low-latency streaming. More details in [this paper](http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=14719). If you want to cite this work in academic context, please cite:

Bouzakaria, N.; Concolato, C.; Le Feuvre, J.
"Overhead and performance of low latency live streaming using MPEG-DASH," IISA 2014, pp.92,97, 7-9 July 2014
doi: 10.1109/IISA.2014.6878732

The server has been also used in the following publication:
J. Le Feuvre, C. Concolato, N. Bouzakaria and V. T. Nguyen, "MPEG-DASH for Low Latency and Hybrid Streaming Services", ACM MM, Brisbane, Australia, October 2015 [PDF](http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=15580) [DOI 10.1145/2733373.2807977 ].
Usages
=====

Simple DASH Web Server with on-demand content
```
MP4Box -dash 1000 -profile live counter.mp4
node gpac-dash.js
MP4Client http://127.0.0.1:8000/counter_dash.mpd (also works with DASH.js)
```

Simple DASH Server with on-demand content (different content generation)
```
MP4Box -dash 1000 -profile live counter.mp4 -segment-marker eods
node gpac-dash.js
MP4Client http://127.0.0.1:8000/counter_dash.mpd (does not work with DASH.js, MEDIA_DECODE_ERR)
```

DASH Server with on-demand content sent using HTTP chunked transfer encoding
```
MP4Box -dash 1000 -profile live counter.mp4 -segment-marker eods
node gpac-dash.js -segment-marker eods -chunk-media-segments
MP4Client http://127.0.0.1:8000/counter_dash.mpd (does not work with DASH.js)
```

Simple DASH Server with pseudo-live content
```
MP4Box -dash-live 1000 -frag 1000 -profile live -subdur 1000 -mpd-refresh 1000 -time-shift 3000 counter.mp4
node gpac-dash.js
MP4Client http://127.0.0.1:8000/counter_dash.mpd (does not work with DASH.js, wrong fetch time)
```

Low-latency DASH Server with live content
```
DashCast -vf dshow -vres 640x480 -vfr 30 -v video="Integrated Webcam" -live -low-delay -frag 200 -insert-utc -seg-marker eods -min-buffer 0.2 -ast-offset -800 -pixf yuv420p
node gpac-dash.js -segment-marker eods -chunk-media-segments
MP4Client http://127.0.0.1:8000/output/dashcast.mpd -opt Network:BufferLength=200 -opt DASH:LowLatency=chunk -opt DASH:UseServerUTC=no
```