Skip to content
NodeJS module for DASH streaming using GPAC
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitattributes
.gitignore
LICENSE.txt
README.md
gpac-dash.js
trim-log-fragment.sh
trim-log-segment.sh

README.md

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. 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 [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
You can’t perform that action at this time.