使用android exoplayer用外部存储的密钥重写aes密钥

k4emjkb1  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(659)

我有一种启动视频播放器的方法:

public void startPlayer(String link) {
        PlayerView playerView = findViewById(R.id.video_player);
        DefaultTrackSelector trackSelector = new DefaultTrackSelector();
        DefaultTrackSelector.Parameters defaultTrackParam = trackSelector.buildUponParameters().build();
        trackSelector.setParameters(defaultTrackParam);
        player = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
        playerView.setPlayer(player);
        DefaultDataSourceFactory fac = new DefaultDataSourceFactory(this, Util.getUserAgent(this, getString(R.string.app_name)));
        HlsMediaSource videoSource = new HlsMediaSource.Factory(fac).createMediaSource(Uri.parse(link));
        player.prepare(videoSource);
    }

它需要 link ,这是一个uri(“http://someuri.m3u8)的位置 .m3u8 hsl流文件。内部 .m3u8 文件:


# EXTM3U

# EXT-X-VERSION:3

# EXT-X-TARGETDURATION:6

# EXT-X-PLAYLIST-TYPE:EVENT

# EXT-X-MEDIA-SEQUENCE:0

# EXT-X-PROGRAM-DATE-TIME:2020-08-22T19:04:56.742Z

# EXT-X-KEY:METHOD=AES-128,URI="https://internally_stored_uri_key_etc",IV=0x67C6697351FF4AEC29CDBAABF2FBE346

# EXTINF:5.005,

235/19/04/56_742.ts

# EXTINF:5.005,

235/19/05/01_747.ts

# EXTINF:0.6006,

235/19/05/06_752.ts

# EXTINF:0.767433333,

235/19/05/07_353.ts

我想做的是替换 https://internally_stored_uri_key_etc 我从不同的地方得到了我自己的uri。但我不想下载 .m3u8 每隔几秒钟手动归档并更新所有的密钥uri,就是这样。
相反,我希望有人知道一种方法,告诉外星玩家为我这样做。像这样的命令 player.overrideKey(myNewKeyUri) ,这只是我希望存在的一个例子。
有什么想法吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题