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

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

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

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

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

  1. # EXTM3U
  2. # EXT-X-VERSION:3
  3. # EXT-X-TARGETDURATION:6
  4. # EXT-X-PLAYLIST-TYPE:EVENT
  5. # EXT-X-MEDIA-SEQUENCE:0
  6. # EXT-X-PROGRAM-DATE-TIME:2020-08-22T19:04:56.742Z
  7. # EXT-X-KEY:METHOD=AES-128,URI="https://internally_stored_uri_key_etc",IV=0x67C6697351FF4AEC29CDBAABF2FBE346
  8. # EXTINF:5.005,
  9. 235/19/04/56_742.ts
  10. # EXTINF:5.005,
  11. 235/19/05/01_747.ts
  12. # EXTINF:0.6006,
  13. 235/19/05/06_752.ts
  14. # EXTINF:0.767433333,
  15. 235/19/05/07_353.ts

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

暂无答案!

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

相关问题