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

标签 android video-streaming android-mediaplayer m3u8 http-live-streaming

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

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

chunk123.ts chunk124.ts chunk125.ts

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

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

谢谢!

最佳答案

检查 ExoPlayer .它处理 m3u8 流并持久缓存。您可以轻松添加自定义逻辑,因为每次类 ChunkSampleSource 下载 chunck(ts 文件)时应用程序都会收到通知。 .

关于android - 如何从 Android 播放器访问 HLS 视频传输段 (.ts)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453221/

相关文章:

php - 如何在 ffmpeg 仍在 PHP 中对文件进行转码时开始流式传输

android - 在播放视频时调整/缩小 YouTubePlayerFragment

android - 如何合并两个音频.wav文件

Android 看不到 attr 样式

android - 在 Android 平板电脑上查看 SQLite 数据 - SQLite 数据库浏览器

Android - 如何在按下后退按钮时退出 Activity ?

java - 如何防止我的音乐播放器在电话铃声响起并挂断电话后启动?

android - 拒绝所有权限后无法继续

video - 如何将两个 ffmpeg 命令组合在一起 - 添加 Intro Outro 和介于两者之间的图像

c# - 使用 OGG 视频 block 的实时视频流