如何从 Android 播放器访问 HLS 视频传输段 (.ts)?

How to access HLS video transport segments (.ts) from Android player?

我们有一个播放 m3u8 流的 Android 播放器。此 m3u8 流包含许多按顺序播放的视频传输段。通常播放器缓冲几个传输段。

如果用户点击一个按钮,我想将现有的传输段缓冲区存储在一个数组(或其他数据结构)中,并立即将它们合并为一个 mp4。所以,如果缓冲区有:

chunk123.ts chunk124.ts chunk125.ts

我想将它们合并成一个 chunks.mp4

任务的第二部分-合并是我熟悉的事情。但是,我不确定如何在 Android 上检索视频播放器缓冲区中的传输段(视频播放器处理下载)。我想为此需要一个开源视频播放器吗?我需要修改代码的哪一部分才能在我的应用程序中访问它?

谢谢!

勾选ExoPlayer. It handle m3u8 stream and persisten caching. You can easily add your custom logic because app is notified every time a chunck (ts file) is downloaded by the class ChunkSampleSource