我有一个视频播放器,我需要播放HLS直播和点播流。
它似乎只在Safari中正常工作。 (减去我需要更新的自定义样式,忽略它) 在所有其他浏览器中,我收到此错误:
VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded,
either because the server or network failed or because the format is not supported.
我错过了什么?看起来非常类似于contrib-hls演示页面实现,它在所有浏览器中都可以正常使用。
这里是回购:https://github.com/adult-swim/adult-swim-video-player,要查看的分支是feature-latest-versions
为了测试我实际上在这里使用了来自videojs-contrib-hls演示页面的下载视频:http://videojs.github.io/videojs-contrib-hls/
以下是我在初始化VideoJS的地方:https://github.com/adult-swim/adult-swim-video-player/blob/feature-latest-versions/app/scripts/views/adult-swim-video-player.js#L56
这是代码的两个编译版本:
http://www.adultswim.com/dev/as-player/ - 按需提供
http://www.adultswim.com/dev/as-player-live/ - 直播
我使用这些版本:
video.js:5.5.2
videojs-contrib-hls:1.3.4
videos-contrib-media-sources:2.4.4
答案 0 :(得分:6)
您的mime类型不正确:<source src="video/test.m3u8" type="video/mp4">
。
结果是玩家将尝试在html5技术(html5视频元素)中播放视频,因为它可以播放MP4。在Safari上,视频将播放,因为视频元素也支持HLS,但在没有本机HLS支持的浏览器上,它将会中断。
使用正确的mime类型application/x-mpegURL
,以便videojs-contrib-hls可以在其他浏览器上启动。