HLS在Android 4.3上播放问题



我要实现的目标是通过Android设备进行实时流媒体。测试后,先验版4.3版,设备正常使用HLS .M3U8播放实时流。一个示例源代码如下:

<video controls="controls" style="height:400px; width:320px;">
    <source src="/hls-live/my-stream_/my-stream_,1360,500,.m3u8"></source>
</video>
<a href="/hls-live/my-stream_/my-stream_,1360,560,.m3u8">Direct Link<a/>

如上所述,我正在尝试使用HTML5视频标签来渲染流。但是,它不会在浏览器中播放,但是,如果单击与完全相同的路径的直接链接,则播放器将弹出并且流将正确播放。

所以我在这里有些困惑,因为为什么直播不能在HTML5播放器下正确地成为玩家,但是能够在弹出式播放器中播放(我认为较晚的是Android下的本地玩家?)

环境:

  • Android OS 4.3
  • Asus Nexus 7
  • Chrome浏览器

编辑:此处添加了更多信息,我还尝试了其他类型的视频,例如http://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov/playlist.m3u8从此页面http://www.wowza.com/forums/showthread.php?32675-HLS-playback-issue-on-Android-4-3。因此,将此M3U8替换为<source>标签中的M3U8,Chrome浏览器将播放它可以。如果查看工作M3U8,您可以看到编解码器是avc1.66.30, mp4a.40.2,我怀疑文件的实际编解码器是问题的原因。

我还尝试调用media.canPlayType('application/vnd.apple.mpegURL')并返回一个空字符串。

我认为它直接从浏览器中工作但通过视频标签失败的原因是cross origin proxy(Safari只是HSL的限制)。

确保将Access-Control-Allow-Origin: *添加到.m3u8.ts文件中,它应该起作用

相关内容

  • 没有找到相关文章

最新更新