在流中区分HLS内容

时间:2015-06-11 21:51:56

标签: android exoplayer

我想使用Google的ExoPlayer区分从HLS流传入的数据的内容类型。

具体来说,我想区分视频和仅音频内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

根据Exoplayer文档,播放器目前根本不支持检测媒体格式:

  

ExoPlayer(尚未)自动检测正在播放的媒体格式。应用程序需要知道它希望播放的媒体的格式,以便构建能够播放它的ExoPlayer。问题#438跟踪了删除此限制。

上面提到的问题链接是:https://github.com/google/ExoPlayer/issues/438

你可以自己查看原始流,如果你可以访问它(它没有加密),并从那里弄清楚它是音频还是视频,但这需要合理的工作量:HLS是一个'流媒体协议'流式传输MPEG-2传输流,分组成段。这些MPEG-2传输流中的每一个都可以包含音频和视频。

MPEG标准(MPEG 1和MPEG 2)使用流ID来识别传输流中的每个单独的音频或视频流。音频流编号为110X XXXX,视频流编号为1110XXXX - 因此您可以检查MPEG2传输流中的所有单个流,看看它是仅音频,仅视频还是混音。