我想要实现的是通过安卓设备进行直播流传输。在测试中,版本 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 video标签来渲染流。然而,在浏览器中无法播放,但是,如果您点击具有完全相同路径的直接链接,则会弹出播放器并正确播放流。
因此,我有点困惑,为什么实时内容无法在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。因此,用
<source>
标记中的m3u8替换它,Chrome浏览器将正常播放它。
如果查看工作的m3u8,您可以看到编解码器是avc1.66.30,mp4a.40.2
,我怀疑文件的实际编解码器是问题的原因。我还尝试调用
media.canPlayType('application/vnd.apple.mpegURL')
,它返回一个空字符串。
WebView
)或手机浏览器中工作吗?如果是,你使用的是哪个浏览器?默认的还是其他的? - Raptor