o m3u8
localização do arquivo é
o 720.key
é em
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 específica. 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
Não tenho certeza se pode ser feito para trabalhar, mas considere dar 'youtube-dl' uma tentativa. 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