某些Android设备上的某些HLS流只播放没有视频的音频

时间:2016-06-25 10:53:51

标签: android hls

我的问题是我们拥有由亚马逊编码并托管在Cloudfront上的HLS Streams,这些流不会在所有设备上播放。

  • Nexus 6 Android 6.0.1播放流
  • One Plus X And​​roid 5.1.1不播放流(音频播放,但根本没有视频/图片)

奇怪的是,One Plus X确实播放了一些HLS流,就像在这里找到的那​​样:https://www.jwplayer.com/html5/hls/

同样在这个网站https://developer.apple.com/streaming/examples/上,One Plus X会播放左侧的流(适用于iOS 4.3及更高版本),但不会播放中间的流(适用于iOS 5.0及更高版本)。 Nexus 6同时播放这两者。

因此,我认为我们已经使用与iOS 5.0兼容的设置编码/部署了我们的HLS流,而我想要的是一种类似于iOS 4.3兼容的流格式。 不幸的是,我无法找到任何有关我必须更改的HLS设置的信息,以使我的流可以在更多设备上播放。或者这两个Apple HLS流之间的巨大差异是什么以及哪些特定设置使得中间的流不能在某些设备上播放。

现在我甚至不确定它是否与编解码器相关,m3u8-meta-data相关,或者完全不同。

我目前无法发布我们的视频,但我希望Apple测试流可能就足够了,因为它们显示的行为与我们的流相同。

任何信息都将不胜感激!

编辑:我们将使用更多设备测试我们的流,并且可能很快就能提供更多信息

1 个答案:

答案 0 :(得分:1)

我们的问题是播放列表中的流的顺序。

我们在播放列表的顶部设置了仅音频流,这使得某些设备仅为整个剪辑播放音频。 将仅音频移动到底部为这些设备修复此问题。

可悲的是,我还没有找到任何其他相关信息。 在我看到的大多数示例中,仅音频选项也位于列表的底部,但没有解释。 由于我认为播放列表应该在顶部具有最低比特率的流,这对我来说仍然有点混乱,我会很感激为此做一些解释/文档。