我有一个我正在构建的视频播放器需要播放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/
这是我'm where I'初始化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
1 回答
您的mime类型不正确:
<source src="video/test.m3u8" type="video/mp4">
.结果是播放器将尝试播放html5技术(html5视频元素)中的视频,因为它可以播放MP4 . 在Safari上,视频将播放,因为视频元素也支持HLS,但在没有本机HLS支持的浏览器上,它将会中断 .
使用正确的mime类型
application/x-mpegURL
,以便videojs-contrib-hls可以在其他浏览器上启动 .