5

Я пытаюсь загрузить видео m3u8 в Windows 10, я перепробовал все способы, но не смог их скачать.

Кто-нибудь может мне помочь? вот ссылки на видео:

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

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

Кстати, эти ссылки относятся к одному и тому же видео, но ни одна из них не работала со мной.

2 ответа2

32

Получите ffmpeg от http://ffmpeg.zeranoe.com/builds/

Затем вы можете скачать видео с помощью этой команды

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

Но может быть проще использовать youtube-dl. Если он поддерживает веб-сайт, содержащий видео, вы можете напечатать, например, youtube-dl https://www.youtube.com/...

Это работает не только для YouTube, но и для многих других видео сайтов.

0

Вот некоторый код на Python, который делает это, вам просто нужно указать URL 1-го сегмента и количество сегментов (из файла .m3u8):

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)

Вот тот же код с еще несколькими наворотами

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .