Questão Como baixar vídeo .m3u8 com string de consulta e EXT-X-KEY?


o m3u8 localização do arquivo é

https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720.m3u8?Policy=eyJTd....._&Signature=S7pry...&Key-Pair- Id = APKAIB5DGCGAQJ4GGIUQ

o 720.key é em

https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720.key?Policy=eyJTd....._&Signature=S7pry...&Key-Pair- Id = APKAIB5DGCGAQJ4GGIUQ

se estou usando ffmpeg -i "https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720.m3u8?Policy=eyJTd....._&Signature=S7pry.....__&Key-Pair-Id=APKA..... -c copy 01.ts para baixar a lista de reprodução. Vai ter um HTTP error 403 Forbidden por sua key e ts Arquivo

[https @ 000000000364d8c0] HTTP error 403 Forbidden
Unable to open key file https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720.key
[hls,applehttp @ 00000000005ec180] Opening 'crypto+https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720_00000.ts' for rea
ding
[https @ 000000000364cc80] HTTP error 403 Forbidden
[crypto @ 0000000003695dc0] Unable to open resource: https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720_00000.ts
[hls,applehttp @ 00000000005ec180] Failed to open segment 0 of playlist 0
[hls,applehttp @ 00000000005ec180] Opening 'crypto+https://hls2.videos.sproutvideo.com/4c6...../b24db8.../video/720_00001.ts' for rea
ding

E então eu descobri que os recursos só podem ser acessados ​​por alguma string de consulta especificada. Neste caso, seria ?Policy=eyJTd....._&Signature=S7pry.....__&Key-Pair-Id=APKAIB5DGCGAQJ4GGIUQ

Minha pergunta é como colocar uma string de consulta única para cada ts e key arquivos, para que o ffmpeg possa baixá-lo.

o 720.m3u8 conteúdo do arquivo:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="720.key",IV=0x2f1fb3a9fd334f2babb6cc77f7753129
#EXTINF:10.000000,
720_00000.ts
#EXTINF:10.000000,
720_00001.ts
#EXTINF:10.000000,
720_00002.ts
#EXTINF:10.000000,
720_00003.ts
#EXTINF:8.733333,
720_00004.ts
#EXT-X-ENDLIST

0


origem


Não tenho certeza se ele pode ser feito para funcionar, mas considere dar uma chance ao 'youtube-dl'. Apesar do nome, é incrível em todas essas complexidades de obter todos os bits e bobs necessários extraídos de qualquer página da web / URL para prosseguir e baixar o conteúdo. Ele usa ffmpeg sob o capô para processamento adicional. - TBR


Respostas: