I am trying to download m3u8 video on windows 10, I have tried all the ways to do that but I couldn't download them.

Anyone could help me? here are the links for the videos:



By the way those links are for the same video but non of them worked with me.

closed as off-topic by JakeGould, fixer1234, n8te, djsmiley2k - CoW, random Jan 19 '18 at 15:22

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question is not about computer hardware or software, within the scope defined in the help center." – JakeGould, random
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Comments are not for extended discussion; this conversation has been moved to chat. – Journeyman Geek Jan 19 '18 at 3:40
  • Both links produce a Not Found message. With the links unavailable and the relevant discussion in archived chats, I'm not sure if this thread will be useful to anyone else. – fixer1234 Jan 19 '18 at 4:14
  • @fixer1234, it's still useful. – Muntashir Akon Nov 7 '18 at 9:04

Get ffmpeg from http://ffmpeg.zeranoe.com/builds/

Then you can download your video with this command

ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "http://s6.vidshare.tv/hls/pdommq4tlsm4f4kmledsh5d5fcn27i35msjxqw62lfflut5bgaqhb5kirb5q/index-v1-a1.m3u8" -c copy video.mp4

But it may be easier to use youtube-dl. If it supports the website that contains the video you can type e.g. youtube-dl https://www.youtube.com/...

This works not just for youtube but also many other video sites.


here's some python code that does it, you just need to provide the url of the 1st segment and the number of segments (from the .m3u8 file):

def dumpSegs(initUrl, n, path, append=False):
    """ downlaod and combine the .ts files
    given the first seg's url, the number of segments and
    the destination download path """
    with open(path, 'ab' if append else 'wb') as f:
        for i in range(1, n + 1):
            segurl = initUrl.replace('seg-1-', 'seg-{:d}-'.format(i))
            success = False
            while not success:
                    seg = requests.get(segurl, headers=HEADERS)
                    success = True

Here's the same code with a few more bells and whistles

Not the answer you're looking for? Browse other questions tagged or ask your own question.