How to parse HLS/MPEG-DASH video stream manifest files in Node.js?

I am currently using AWS Mediaconvert to transcode videos to HLS and MPEG-DASH format. I have a requirement in which I have to parse video manifest files and remove subtitles/captions stream from manifest files. I have to do it programmatically with the help of Node.js. Is there any module that can help me achieve the same?

Parsing HLS and MPEG-DASH with Node.js is very easy. The following NPM modules will help you to achieve your goals.

  1. m3u8-parser
  2. mpd-parser

No doubt these modules are easy to use for parsing manifest files but, the real challenge is to write modified manifest back to the file in a specific format.
Unfortunately, there is no Node.js module available to write parsed manifest back to the file so you have to write it yourself.

Visit for more information on this topic:

How can I use MPEG-DASH in our system? Like I would like to improve our system to include adaptive streaming (MPEG-DASH). What modifications to the pipeline are necessary?

Could you please provide some background on your project? Only then we are able to give you the right direction.

Sure  I have a classic video streaming prototype that enables users to record videos on their devices, upload them (the entire video as a single file) to the cloud as they are converted to a particular format, and then share them for playback with more devices. Our use-case is users’ 1-2 minute selfie videos.

I think first you need to figure out the design for an OTT (Over The Top) video on-demand system.
Meanwhile, assuming that your all videos are in mp4 format and there are a lot of tools that help you to create a DASH manifest and media segments. For more you can refer this link:
FFmpeg Formats Documentation.
Whereas the segment length is a tradeoff between latency, encoding overhead and quality and while most video streaming solutions require an origin server for the streaming media, if you are implementing one of these then it will probably function just fine for your DASH files.