illuspas / Node-Media-Server

A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
https://www.npmjs.com/package/node-media-server
MIT License
5.98k stars 1.52k forks source link

Adaptive Bitrate (ABR) HLS / DASH Support #404

Open garyns opened 4 years ago

garyns commented 4 years ago

Hi,

Are there any plans on the roadmap for node media server to support Adaptive Bitrate (ABR) for HLS / DASH?

My research indicates there are a couple of GitHub projects providing this on top of NMS, but I'd rather be using NMS directly to achieve this.

Thanks.

mattcwebster commented 4 years ago

you can pretty easily just generate your own master.m3u8 file and use the fission task to achieve the same.

mohsen-rasouli commented 3 years ago

you can pretty easily just generate your own master.m3u8 file and use the fission task to achieve the same.

can you explain more with example?!

abrar71 commented 3 years ago

I also cant figure out a way to use HLS with Fission transcoded streams even when I use hls: true in fission config

viniciusaffonso-hotmart commented 3 years ago

any news about this request ?

drpshtiwan commented 2 years ago

you can pretty easily just generate your own master.m3u8 file and use the fission task to achieve the same.

can you explain more with example?!

You can create your own playlist.m3u8 and put it inside any folder on your hosting after you set your fusion configuration. It should contain the following code to create adaptive HLS.

#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1957242,RESOLUTION=1920x1080,CODECS="avc1.4d0028,mp4a.40.2",CLOSED-CAPTIONS=NONE
https://YOURDOMAIN/live/STREAM_KEY/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1925490,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2",CLOSED-CAPTIONS=NONE
https://YOURDOMAIN/live/STREAM_KEY_720/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=789415,RESOLUTION=640x360,CODECS="avc1.77.30,mp4a.40.2",CLOSED-CAPTIONS=NONE
https://YOURDOMAIN/live/STREAM_KEY_360/index.m3u8

Then for the HLS link, you should use playlist.m3u8 link