Como faço para baixar um segmento de mídia de fluxo usando uma “lista de reprodução” .m3u8?

1

Estou tentando baixar um clipe (de áudio) que está disponível em algum site. Quando monitoro o tráfego da rede, percebo que o seguinte arquivo foi baixado:

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

e o arquivo chunklist contém:

#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

... e assim por diante, cerca de 750 pares dessas linhas. Cada um desses arquivos .ts é um binário e seu tipo parece ser:

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

Como obtenho o clipe inteiro como um único arquivo? Devo usar apenas um script para wget de todos esses arquivos e concatená-los? Ou aplicar um teto de splicer MPEG (log (750)) vezes? Ou há mais alguma coisa que eu possa fazer?

    
por einpoklum 06.07.2017 / 20:15

0 respostas