Загрузка видео m3u8

14493
FarouK

Я пытаюсь загрузить видео 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

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

0
Комментарии не для расширенного обсуждения; этот разговор был [перемещен в чат] (http://chat.stackexchange.com/rooms/71904/discussion-on-question-by-farouk-downloading-m3u8-videos). Journeyman Geek 6 лет назад 0
Обе ссылки создают сообщение Not Found. С недоступными ссылками и соответствующим обсуждением в заархивированных чатах, я не уверен, что эта ветка будет полезна кому-то еще. fixer1234 6 лет назад 0
@ fixer1234, это все еще полезно. Muntashir Akon 5 лет назад 0

2 ответа на вопрос

22
SpiderPig

Получите 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, но и для многих других видео сайтов.

Комментарии не для расширенного обсуждения; этот разговор был [перемещен в чат] (http://chat.stackexchange.com/rooms/67395/discussion-on-answer-by-spiderpig-downloading-m3u8-videos). DavidPostill 6 лет назад 0
0
BanishedBot

Вот некоторый код на 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) 

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

Похожие вопросы