Как загрузить сегмент мультимедийного потока, используя «список воспроизведения» .m3u8?


1

Я пытаюсь скачать (аудио) клип, который доступен на каком-то сайте. Когда я отслеживаю сетевой трафик, я замечаю, что загружается следующий файл:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=81400,RESOLUTION=360x240
chunklist_w413399134_b74000_pd6918000.m3u8?ttl=1499450811&cdn_token=c3e719c20573d5ff1daa0d4e165bc830

и файл списка чанков содержит:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.3,
media_w1424738972_b74000_pd6918000_0.ts?ttl=1499450811&cdn_token=c3e719c20573d5ff1daa0d4e165bc830
#EXTINF:9.0,
media_w1424738972_b74000_pd6918000_1.ts?ttl=1499450811&cdn_token=c3e719c20573d5ff1daa0d4e165bc830
#EXTINF:9.0,
media_w1424738972_b74000_pd6918000_2.ts?ttl=1499450811&cdn_token=c3e719c20573d5ff1daa0d4e165bc830
#EXTINF:9.0,
media_w1424738972_b74000_pd6918000_3.ts?ttl=1499450811&cdn_token=c3e719c20573d5ff1daa0d4e165

... и так далее, и так далее, около 750 пар этих линий. Каждый из них .ts Файлы - это двоичный файл, и его тип выглядит так:

$ file media_w1424738972_b74000_pd6918000_2.ts 
media_w1424738972_b74000_pd6918000_2.ts: MPEG transport stream data

Как мне получить весь клип в виде одного файла? Должен ли я просто использовать скрипт для wget все эти файлы и объединить их? Или примените Ceil сплайсера MPEG (log (750)) раз? Или я могу что-то еще сделать?


Просто используйте ffmpeg.
szatmary

@szatmary: Можете ли вы быть более конкретным, пожалуйста? Я не опытный с такими вещами.
einpoklum

Google будет более конкретным, чем я когда-либо мог быть. Вы пытались найти "ffmpeg download m3u8"
szatmary
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.