16

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:

http://s6.vidshare.tv/hls/pdommq4tlsm4f4kmledsh5d5fcn27i35msjxqw62l,w63wt5bgaqhzzy5tnfq,7p3ut5bgaqjxkd423pq,fflut5bgaqkj42irb5q,.urlset/master.m3u8

http://s6.vidshare.tv/hls/pdommq4tlsm4f4kmledsh5d5fcn27i35msjxqw62lfflut5bgaqhb5kirb5q/index-v1-a1.m3u8

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
52

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.

1

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:
                try:
                    seg = requests.get(segurl, headers=HEADERS)
                    success = True
                except:
                    print('retrying...')
            f.write(seg.content)

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.