Воспроизведение m3u8 из Amazon S3 + CloudFront с подписанным URL в Android - PullRequest
0 голосов
/ 07 января 2020

Мне удалось получить доступ к файлу списка воспроизведения (.m3u8) с подписанным URL. Но проблема в том, что для доступа к потоковым файлам (.ts) в списке воспроизведения необходимо также подписать URL каждого файла.

Например:

Я могу получить доступ к playlist.m3u8 с подписанным URL-адресом http://abcdefg.cloudfront.net/media/playlist.m3u8?Expires=xxxxxxxx&Policy=yyyyyyyyyyyyy&Signature=zzzzzzzzzzzzzz&Key-Pair-Id=kkkkkkkkkkkkkkkkk

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:13
playlist-00000.ts
#EXTINF:12,
playlist-00001.ts
#EXTINF:12,
playlist-00002.ts

Но к каждому ts-файлу внутри него также следует обращаться, как

http://abcdefg.cloudfront.net/media/playlist-00000.ts?Expires=xxxxxxxx&Policy=yyyyyyyyyyyyy&Signature=zzzzzzzzzzzzzz&Key-Pair-Id=kkkkkkkkkkkkkkkkk

Я должен подписать каждый URL-адрес для каждого файла .ts в списке воспроизведения.

К сожалению, я не вижу ни одного медиаплеера, который мог бы обрабатывать добавление параметров для URL-адреса до того, как он получит ts files.

Если возможно, мне нужен обратный звонок от плеера, например:

public String onStreamFileReadyForPlaying(String pathToTsFile)
{
     //I could append the parameters here
     return pathToTsFile + "?Expires=xxxxxxxx&Policy=yyyyyyyyyyyyy&Signature=zzzzzzzzzzzzzz&Key-Pair-Id=kkkkkkkkkkkkkkkkk"
}

1 Ответ

1 голос
/ 07 января 2020

Просто подпишите URL-адреса в списке воспроизведения.

Это все, что нужно сделать.

...